在\ Phalcon \ Mvc \ Model中定义源表的最正确方法是什么?

时间:2012-12-26 15:59:52

标签: model phalcon

据我所知,可以通过以下变体定义表名:

1)通过定义方法getSource()

class Table1 extends \Phalcon\Mvc\Model 
{
    public function getSource()
    {
        return 'table1';
    }
}

2)通过定义$ _source属性

protected $_source = 'table1';

3)哪里有必要定义源表?在initialize()方法或__construct()中为什么?

4)也许你可以告诉其他可能的解决方案?

1 个答案:

答案 0 :(得分:2)

最好的方法是在班级中定义getSource方法

public function getSource()
{
    return 'table1';
}

但是,您也可以使用setSource()中的initialize(),或者再次将$_source设置为initialize()功能。

public function initialize()
{
    $this->setSource('table1');
}

initialize()执行将模型绑定到数据库并执行其他操作所需的所有工作,以便将功能公开给开发人员。调用__construct()是在创建对象时所期望的。

只要您正确设置$_source,我认为您设置的位置不会有很大差异。我个人的偏好是在getSource()中设置它。它使事情保持整洁,我不必跟踪$_source变量。