Класс AclBehavior
Поведение ACL
Позволяет объектам легко интегрироваться в систему ACL
- Объект
-
ModelBehavior -
AclBehavior
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/behaviors/acl.html
Расположение Cake/Model/Behavior/AclBehavior.php
Подробное описание методов
afterDeleteисходный код public
afterDelete( Model $model )
Удаляет узел ARO/ACO, связанный со стёртой записью.
Параметры
-
Model$model - Модель, использующая это поведение.
Переопределяет
ModelBehavior::afterDelete() afterSaveисходный код public
afterSave( Model $model , boolean $created , array $options array() )
Создаёт новый узел ARO/ACO, связанный с этой записью.
Параметры
-
Model$model - Модель, использующая это поведение.
- boolean
$created - Истина, если это новая запись
- array
$optionsнеобязательно array() - Опции, переданные из Model::save().
Переопределяет
ModelBehavior::afterSave() nodeисходный код public
node( Model $model , string|array|Model $ref null , string $type null )
Возвращает узел Aro/Aco для этой модели.
Параметры
-
Model$model - Модель, использующая это поведение.
- string|array|
Model$refнеобязательно null - Массив с 'model' и 'foreign_key', объект модели или строковое значение
- string
$typeнеобязательно null - Требуется только тогда, когда ACL настроен как 'both', укажите 'Aro' или 'Aco', чтобы получить нужный узел
Возвращает
arrayмассив
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/behaviors/acl.html#nodesetupисходный код public
setup( Model $model , array $config array() )
Настраивает конфигурацию для модели и загружает модели ACL, если они ещё не загружены.
Параметры
-
Model$model - Модель, использующая это поведение.
- array
$configнеобязательно array() - Опции конфигурации.
Переопределяет
ModelBehavior::setup() Методы, унаследованные от ModelBehavior
_addToWhitelistисходный код protected
_addToWhitelist( Model $model , string $field )
Если свойство whitelist модели $model не пустое, $field будет добавлено в него. Примечание: этот метод следует использовать *только* в beforeValidate или beforeSave, чтобы гарантировать, что он изменяет whitelist только для текущей операции сохранения. Также убедитесь, что вы явно устанавливаете значение поля, которое вы разрешаете.
Параметры
-
Model$model - Модель, использующая это поведение
- string
$field - Поле, которое будет добавлено в whitelist модели $model
afterFindисходный код public
afterFind( Model $model , mixed $results , boolean $primary false )
Обработчик после поиска. Может использоваться для изменения результатов, возвращённых функцией find.
Параметры
-
Model$model - Модель, использующая это поведение
- mixed
$results - Результаты операции поиска
- boolean
$primaryнеобязательно false - Является ли эта модель запрашиваемой напрямую (а не как ассоциация)
Возвращает
mixedЗначение массива заменит значение $results - любые другие значения будут проигнорированы.
afterValidateисходный код public
afterValidate( Model $model )
afterValidate вызывается сразу после валидации данных модели. Вы можете использовать этот обработчик для выполнения необходимой очистки или подготовки данных.
Параметры
-
Model$model - Модель, использующая это поведение
Возвращает
mixedЛожь остановит прохождение этого события к другим поведениям
beforeDeleteисходный код public
beforeDelete( Model $model , boolean $cascade true )
beforeDelete вызывается перед удалением связанной модели, но после вызова beforeDelete модели. Возвращение ложного значения из beforeDelete прервёт удаление.
Параметры
-
Model$model - Модель, использующая это поведение
- boolean
$cascadeнеобязательно true - Если true, записи, зависящие от этой записи, также будут удалены
Возвращает
mixedЛожь, если операция должна быть прервана. Любой другой результат будет продолжен.
beforeFindисходный код public
beforeFind( Model $model , array $query )
beforeFind может использоваться для отмены операций поиска или модификации запроса, который будет выполнен. Возвращение null/false прерывает поиск. Возвращение массива позволяет изменить/заменить запрос, который будет выполнен.
Параметры
-
Model$model - Модель, использующая это поведение
- array
$query - Данные, используемые для выполнения этого запроса, например, условия, порядок и т. д.
Возвращает
boolean|arrayЛожь или null прервут операцию. Вы можете вернуть массив для замены запроса $query, который в конечном итоге будет выполнен.
beforeSaveисходный код public
beforeSave( Model $model , array $options array() )
beforeSave вызывается перед сохранением модели. Возвращение ложного значения из beforeSave прервёт операцию сохранения.
Параметры
-
Model$model - Модель, использующая это поведение
- array
$optionsнеобязательно array() - Опции, переданные из Model::save().
Возвращает
mixedЛожь, если операция должна быть прервана. Любой другой результат продолжит выполнение.
См.
Model::save()beforeValidateисходный код public
beforeValidate( Model $model , array $options array() )
beforeValidate вызывается перед валидацией модели. Вы можете использовать этот обработчик для добавления правил валидации поведения в массив validate модели. Возвращение ложного значения позволит сделать валидацию неудачной.
Параметры
-
Model$model - Модель, использующая это поведение
- array
$optionsнеобязательно array() - Опции, переданные из Model::save().
Возвращает
mixedЛожь или null прервут операцию. Любой другой результат продолжит выполнение.
См.
Model::save()cleanupисходный код public
cleanup( Model $model )
Очистка любых инициализаций, выполненных этим поведением в модели. Вызывается при динамической отвязке поведения от модели с помощью Model::detach().
Параметры
-
Model$model - Модель, использующая это поведение
См.
BehaviorCollection::detach()onErrorисходный код public
onError( Model $model , string $error )
Обработчик ошибок источника данных
Параметры
-
Model$model - Модель, использующая это поведение
- string
$error - Ошибка, сгенерированная в источнике данных
Методы, унаследованные от Объект
_mergeVarssource protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства объекта $property со свойствами в определении $class. Значение свойства этого класса будет объединено поверх $class'.
Это обеспечивает некоторую магию DRY, предоставляемую CakePHP. Если вы хотите отключить её, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- булево
$normalizeнеобязательно true - Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_setsource protected
_set( array $properties array() )
Позволяет установить несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stopsource protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего сценария. Оборачивает exit(), что упрощает тестирование.
Параметры
- целое число/строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethodsource public
dispatchMethod( string $method , array $params array() )
Вызывает метод в этом объекте с заданными параметрами. Предоставляет оболочку ООП для call_user_func_array
Параметры
- строка
$method - Имя метода для вызова
- массив
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращаемое значение
mixedВозвращает результат вызова метода
logsource public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. Подробнее о записи в журналы см. CakeLog::write().
Параметры
- строка
$msg - Сообщение журнала
- целое число
$typeнеобязательно LOG_ERR - Константа типа ошибки. Определена в app/Config/core.php.
- null|строка|массив
$scopeнеобязательно null - Область(и), в которой создается сообщение журнала. Подробнее о областях ведения журналов см. CakeLog::config().
Возвращаемое значение
booleanУспех записи в журнал
requestActionsource public
requestAction( string|array $url , array $extra array() )
Вызывает метод контроллера из любой точки. Может быть использован для связи контроллеров или подключения плагинов к главному приложению. requestAction может быть использован для возврата отображенных представлений или получения возвращаемого значения от действий контроллера.
Под капотом этот метод использует Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse().
Передача данных POST и GET
Данные POST и GET могут быть смоделированы в requestAction. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет моделировать данные POST.
Параметры
- строка/массив
$url - Строка или массив-URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- массив
$extraнеобязательно array() - Если массив включает ключ "return", он устанавливает AutoRender в значение true. Также может быть использован для отправки данных GET/POST и именованных/переданных аргументов.
Возвращаемое значение
mixedБулево true или false при успехе/неудаче или содержимое рендерного действия, если 'return' задано в $extra.
toStringsource public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращаемое значение
stringНазвание этого класса
Краткое описание свойств
Наследуемые свойства от ModelBehavior
$mapMethodssource
public массив
Позволяет сопоставление регулярных выражений, совместимых с preg, с открытыми или закрытыми методами в этом классе, где ключ массива — регулярное выражение с разделителем /, а значение — метод класса. Аналогично функциональности магических методов findBy* / findAllBy*.
array() $settingssource
public массив
Содержит настройки конфигурации для использования с отдельными объектами модели. Это используется, потому что если несколько моделей используют этот компонент, каждая будет использовать тот же экземпляр объекта. Настройки отдельных моделей должны храниться в ассоциативном массиве, индексированном именем модели.
См. также
Model::$aliasarray()
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/2.7/class-AclBehavior.html