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

JD *_*cks 0 cakephp behavior cakephp-1.3

我有这个模型app/models/product.php:

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


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


}
Run Code Online (Sandbox Code Playgroud)

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

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


}
Run Code Online (Sandbox Code Playgroud)

当我查看产品页面时,A回显但B不回显.我没有错.

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

我将文件权限设置Domainable.php0777- 仍然不起作用,因此不是权限问题.

我换了一行:

var $actAs = array('Domainable');
Run Code Online (Sandbox Code Playgroud)

至:

var $actAs = array('does-not-exist'); 
Run Code Online (Sandbox Code Playgroud)

我没有区别.没错.

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

JD *_*cks 6

var $actAs = array('Domainable');
Run Code Online (Sandbox Code Playgroud)

它需要$actsAss相反.

是的,当你使用正确的变量名时,它确实会在找不到行为时给出错误.