CakePHP: Как я могу устранить неполадки в своем поведении? - PullRequest
0 голосов
/ 03 февраля 2011

У меня есть эта модель на 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'); 

У меня нет разницы. Нет ошибок.

Прежде всего, я не понимаю, почему: если Поведение не загружено, оно не выдаст мне сообщение об ошибке с такой причиной, как «не найден» или «доступ запрещен» Это должно вызвать ошибку?

1 Ответ

6 голосов
/ 03 февраля 2011
var $actAs = array('Domainable');

Это должно быть $actsAs с s вместо.

И да, когда вы используете правильное имя переменной, выдает ошибку, когда не может найти поведение.

...