在\Phalcon\Mvc\Model中定义源表的最正确方法是什么?
据我所知,可以通过以下变量定义表名: 1) 通过定义getSource()方法 2) 通过定义$\u源属性在\Phalcon\Mvc\Model中定义源表的最正确方法是什么?,model,phalcon,Model,Phalcon,据我所知,可以通过以下变量定义表名: 1) 通过定义getSource()方法 2) 通过定义$\u源属性 protected $_source = 'table1'; 3) 在哪里需要定义源表?在initialize()方法或_construct()中,为什么 4) 可能还有其他可能的解决方案吗?最好的方法是在类中定义getSource方法 public function getSource() { return 'table1'; } 但是,您也可以在initialize()中使
protected $_source = 'table1';
3) 在哪里需要定义源表?在initialize()方法或_construct()中,为什么
4) 可能还有其他可能的解决方案吗?最好的方法是在类中定义
getSource
方法
public function getSource()
{
return 'table1';
}
但是,您也可以在initialize()
中使用setSource()
,或者再次在initialize()
函数中设置$\u source
public function initialize()
{
$this->setSource('table1');
}
initialize()
执行所有必要的工作,将模型绑定到数据库并执行其他操作,以便将功能公开给开发人员。\uu构造()
在创建对象时被调用
我认为,只要设置正确,在哪里设置
$\u源代码
,没有太大区别。我个人的偏好是在getSource()
中设置它。这样做可以使事情保持整洁,而且我不必跟踪$\u源代码变量。这是一种更具编码风格的东西。最后,我将setSource($table)方法留在initialize()中,而不是定义额外的方法。从我的观点来看,设置$\源变量不是很好的解决方案,因为这个属性没有被记录:)在initialize()方法中描述表名更好,因为所有模型定义都在一个地方,它使代码更清晰:)
public function initialize()
{
$this->setSource('table1');
}