CakePHP:我如何解决我的行为问题?

时间:2011-02-02 21:31:09

标签: cakephp cakephp-1.3 behavior

我在app/models/product.php处拥有此模型:

class Product extends AppModel 
{
    var $hasAndBelongsToMany = 'WishList';
    var $actAs = array('Domainable');   


    function beforeFind($query)
    {
        echo "A";   
    }


}

app/models/behaviors/Domainable.php使用此行为:

class DomainableBehavior extends ModelBehavior 
{
    function beforeFind(&$model, $query)
    {
        echo "B";   
    }


}

当我查看产品页面时, A 会被回显,但 B 则不会。我没有错。

我甚至认为行为根本没有加载。

我将Domainable.php上的文件权限设置为0777 - 仍然无效,因此不是权限问题。

我换了一行:

var $actAs = array('Domainable');

为:

var $actAs = array('does-not-exist'); 

我没有区别。没错。

首先,我不明白为什么:如果没有加载Behavior,它就不会给我一些错误信息,原因如:“not found”或“access denied”。这应该会产生错误吗?

1 个答案:

答案 0 :(得分:6)

var $actAs = array('Domainable');

需要$actsAs代替 s

是的,当你使用正确的变量名时,当它找不到行为时会发出错误。