Поведения модели – это способ организовать некоторую функциональность в моделях CakePHP. Они позволяют нам разделять логику, которая, возможно, не относится прямо к модели, но нужна там. Для предоставления простого и действенного способа расширить модели, поведения позволяют нам прикрепить функциональность к моделям, определением простого класса переменных. Таким образом поведения дают возможность моделям избавиться от лишнего веса, который может не быть частью бизнес контракта (моделируемого моделями), или, который нужен в различных моделях и может быть экстраполирован в дальнейшем.
В качестве примера, рассмотрим модель, которая даёт нам доступ к таблице базы данных, хранящей структурную информацию о дереве. Удаление, добавление, перемещение узлов в этом дереве не такое простое, как удаление, вставка и редактирование строк в таблице. Многие записи должны будут обновиться, когда элементы дерева перемещаются. Вместо того, чтобы создавать эти методы, манипулирования деревом для каждой модели, которой нужна такая функциональность, мы можем просто сказать нашей модели использовать TreeBehavior, или более формально, мы говорим нашей модели вести себя, как Tree (дерево). Это известно, как прикрепление поведения к модели. С помощью одной строчки кода наша модель CakePHP приобретает всё новое множество методов, которое позволяет ей взаимодействовать с базовой структурой.
CakePHP уже включает в себя поведения для структур, типа дерева, переведенное содержимое, не упоминая, созданные обществом поведения, уже доступны в CakePHP пекарне http://bakery.cakephp.org. В этом разделе мы рассмотрим базовое использование образцов для добавления поведений к моделям, как использовать встроенные в CakePHP поведения, и как создавать наши собственные.
<< Источники данных | Использование поведений >>