Класс AclBehavior
Поведение ACL
Позволяет объектам легко интегрироваться в систему ACL
- CakeObject
-
ModelBehavior
-
AclBehavior
Ссылка: https://book.cakephp.org/2.0/ru/core-libraries/behaviors/acl.html
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Model/Behavior/AclBehavior.php
Краткое описание свойств
-
$_typeMapsprotectedОтображает параметры типа ACL в модели ACLarray
Унаследованные свойства
Краткое описание методов
- afterDelete() publicУничтожает узел ARO/ACO, связанный с удаленным записями
- afterSave() publicСоздаёт новый узел ARO/ACO, связанный с этой записью
- node() publicПолучает узел Aro/Aco для этой модели
- setup() publicНастраивает конфигурацию модели и загружает модели ACL, если они ещё не загружены
Подробное описание методов
afterDelete()source public
afterDelete( Model $model )
Уничтожает узел ARO/ACO, связанный с удаленной записью
Параметры
-
Model$model - Модель, использующая это поведение.
Переопределяет
ModelBehavior::afterDelete() afterSave()source public
afterSave( Model $model , boolean $created , array $options array() )
Создаёт новый узел ARO/ACO, связанный с этой записью
Параметры
-
Model$model - Модель, использующая это поведение.
- boolean
$created - Истина, если это новая запись
- array
$optionsoptional array() - Параметры, переданные из Model::save().
Переопределяет
ModelBehavior::afterSave() node()source public
node( Model $model , string|array|Model $ref null , string $type null )
Получает узел Aro/Aco для этой модели
Параметры
-
Model$model - Модель, использующая это поведение.
- string|array|
Model$refoptional null - Массив с 'model' и 'foreign_key', объект модели или строковое значение
- string
$typeoptional null - Необходимо только при настройке ACL как 'both', укажите 'Aro' или 'Aco' для получения нужного узла
Возвращает
arrayСсылка
https://book.cakephp.org/2.0/ru/core-libraries/behaviors/acl.html#nodesetup()source public
setup( Model $model , array $config array() )
Настраивает конфигурацию модели и загружает модели ACL, если они ещё не загружены
Параметры
-
Model$model - Модель, использующая это поведение.
- array
$configoptional array() - Параметры конфигурации.
Переопределяет
ModelBehavior::setup() Методы, унаследованные от ModelBehavior
_addToWhitelist()source protected
_addToWhitelist( Model $model , string $field )
Если свойство whitelist модели $model не пустое, поле $field будет добавлено в него. Примечание: этот метод следует использовать только в методах beforeValidate или beforeSave, чтобы гарантировать, что он изменяет список разрешённых полей только для текущей операции сохранения. Также убедитесь, что вы явно задаёте значение поля, которое вы разрешаете.
Параметры
-
Model$model - Модель, использующая это поведение
- string
$field - Поле, которое будет добавлено в список разрешённых полей $model
afterFind()source public
afterFind( Model $model , mixed $results , boolean $primary false )
Обработчик после поиска. Может использоваться для изменения результатов, возвращаемых методом find.
Параметры
-
Model$model - Модель, использующая это поведение
- mixed
$results - Результаты операции поиска
- boolean
$primaryoptional false - Признак, указывает ли запрос на текущую модель (вместо запроса к ассоциации)
Возвращает
mixedЗначение массива заменит значение $results - любые другие значения будут проигнорированы.
afterValidate()source public
afterValidate( Model $model )
Метод afterValidate вызывается сразу после проверки данных модели. Вы можете использовать этот обработчик для выполнения необходимой очистки или подготовки данных.
Параметры
-
Model$model - Модель, использующая это поведение
Возвращает
mixedЛожь остановит распространение события другим поведениям
beforeDelete()source public
beforeDelete( Model $model , boolean $cascade true )
Метод beforeDelete вызывается перед любым удалением привязанной модели, но после вызова метода beforeDelete модели. Возвращение false из метода beforeDelete прервёт удаление.
Параметры
-
Model$model - Модель, использующая это поведение
- boolean
$cascadeoptional true - Если true, записи, которые зависят от этой записи, также будут удалены
Возвращает
mixedЛожь, если операция должна быть прервана. Любой другой результат продолжит выполнение.
beforeFind()source public
beforeFind( Model $model , array $query )
Метод beforeFind может быть использован для отмены операций поиска или изменения запроса, который будет выполнен. Возвращение null/false прерывает поиск. Возвращение массива позволяет изменить/заменить запрос, который будет выполнен.
Параметры
-
Model$model - Модель, использующая это поведение
- array
$query - Данные, используемые для выполнения запроса, например условия, порядок и т. д.
Возвращает
boolean|arrayЛожь или null прервут операцию. Вы можете вернуть массив, чтобы заменить запрос $query, который будет в итоге выполнен.
beforeSave()source public
beforeSave( Model $model , array $options array() )
Метод beforeSave вызывается перед сохранением модели. Возвращение false из метода beforeSave прервёт операцию сохранения.
Параметры
-
Model$model - Модель, использующая это поведение
- array
$optionsoptional array() - Параметры, переданные из Model::save().
Возвращает
mixedFalse, если операция должна быть прервана. Любой другой результат продолжит выполнение.
См. также
Model::save()beforeValidate()source public
beforeValidate( Model $model , array $options array() )
Метод beforeValidate вызывается перед валидацией модели, вы можете использовать этот обработчик для добавления правил валидации поведения в массив валидации модели. Возврат false позволит вам сделать валидацию не успешной.
Параметры
-
Model$model - Модель, использующая это поведение
- array
$optionsoptional array() - Параметры, переданные из Model::save().
Возвращает
mixedЛожь или null прервут операцию. Любой другой результат продолжит выполнение.
См. также
Model::save()cleanup()source public
cleanup( Model $model )
Очистка любых инициализаций, выполненных этим поведением в модели. Вызывается при динамическом отсоединении поведения от модели с помощью Model::detach().
Параметры
-
Model$model - Модель, использующая это поведение
См. также
BehaviorCollection::detach()onError()source public
onError( Model $model , string $error )
Обработчик ошибок источника данных
Параметры
-
Model$model - Модель, использующая это поведение
- строка
$error - Ошибка, сгенерированная в источнике данных
Методы, унаследованные от CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства объекта $property со свойством в определении $class. Значение этого класса для свойства будет объединённо сверху $class'
Это обеспечивает некоторую магию DRY, предоставляемую CakePHP. Если вы хотите её отключить, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- логическое
$normalizeнеобязательно true - Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет устанавливать несколько свойств объекта в одной строке кода. Будет устанавливать только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно массив() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Остановка выполнения текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- целое число/строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет ОО-обёртку для call_user_func_array
Параметры
- строка
$method - Имя вызываемого метода
- массив
$paramsнеобязательно массив() - Список параметров для использования при вызове $method
Возвращает
смешанноеВозвращает результат вызова метода
log()source 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().
Возвращает
логическое значениеУспех записи в журнал
requestAction()source 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необязательно массив() если массив содержит ключ "return", он устанавливает AutoRender в true. Также может быть использован для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
смешанноеЛогическое значение true или false при успехе/неудаче или содержимое рендерного действия, если в $extra установлен 'return'.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределить этот метод при необходимости.
Возвращает
строкаИмя этого класса
Подробное описание свойств
$_typeMapssource
protected массив
Сопоставление параметров типа ACL с моделями ACL
array('requester' => 'Aro', 'controlled' => 'Aco', 'both' => array('Aro', 'Aco'))
© 2005–2017 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.
https://api.cakephp.org/2.10/class-AclBehavior.html