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.php为0777- 仍然不起作用,因此不是权限问题.
我换了一行:
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".这会产生错误吗?
var $actAs = array('Domainable');
Run Code Online (Sandbox Code Playgroud)
它需要$actsAs与s相反.
是的,当你使用正确的变量名时,它确实会在找不到行为时给出错误.