根据 this blog post应该可以在模型中使用 init() 方法。像这样:
class MyModel
{
public function init()
{
// prepare something
}
...
}
这对我不起作用。有人知道我是否必须在某处设置一个参数(例如在配置文件中),或者这在我的 Zend FW 版本(1.11.4)中是否不再可能?我在 init 方法中检查了 error_log('something'),它根本没有被调用。
更新: 我稍微扩展了 Adam 的解决方案:
public function __construct() {
if (get_parent_class($this) != false) {
parent::__construct();
}
if(method_exists($this, 'init')) {
$this->init();
}
}
这样就可以放在一个基类中,然后进行扩展。以防万一有人以后也需要相同的解决方案。
最佳答案
那篇文章误导性很强。如果应用程序中的模型类扩展了 Zend_Db_Table
或 Zend_Db_Table_Row
,这在帖子的示例中不是这种情况,但从文本中暗示,那么是的,您可以添加一个 init( ) 将自动调用的方法。要在您的应用程序中使用它,您需要从创建模型的任何对象或从基类的构造函数调用该方法。
关于zend-framework - 在 Zend Framework 中初始化模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5936540/