1
我在Zend Framework類中注意到的模式之一是與以下類似的代碼。它可以在20-30個文件中。是否有可用於消除約定樣板代碼的基礎Zend類?
public function __construct($options = null)
{
if (is_array($options)) {
$this->setOptions($options);
} elseif ($options instanceof Zend_Config) {
$this->setConfig($options);
}
// do custom initialization
$this->_init();
}
public function setOptions(array $options)
{
foreach ($options as $key => $value) {
$this->set($key, $value);
}
return $this;
}
public function set($property, $value)
{
if (!is_string($property) || empty($property)) {
require_once 'Zend/Navigation/Exception.php';
throw new Exception('Invalid argument: $property must be a non-empty string');
}
$method = 'set' . self::_normalizePropertyName($property);
if ($method != 'setOptions' && $method != 'setConfig' &&
method_exists($this, $method)) {
$this->$method($value);
} else {
$this->_properties[$property] = $value;
}
return $this;
}
當我開發自己的班級時,我也放了類似的鍋爐板代碼。是否有一個Zend框架類,已經有這個最小的鍋爐板代碼,我可以擴展呢?
如果不是,爲什麼沒有一個?對代碼保持乾爽和一致性會有幫助嗎?
好點,只是認爲我會提到flammon,我通常有一個模型的基類,並且映射器是我的應用程序中的所有模型/映射器的擴展。它們包含許多這些實用功能以及您可能經常需要的其他代碼。 – drew010 2011-12-22 04:19:03
我開發了我自己的基類,但希望得到一個與ZF1一起出現的基礎類,但找不到它。現在我更加急於想要與ZF2合作。謝謝。 – 2011-12-23 13:47:02