Класс TranslateBehavior
Поведение перевода
- Объект
-
ModelBehavior -
TranslateBehavior
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT Лицензия
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/behaviors/translate.html
Расположено в Cake/Model/Behavior/TranslateBehavior.php
Подробное описание метода
_addJoinисходный код защищенный
_addJoin( Model $Model , array $query , string $field , string $aliasField , string|array $locale )
Добавляет объединение для переведенных полей.
Параметры
-
Model$Model - Модель, над которой ведется работа.
- массив
$query - Массив запроса, к которому необходимо добавить объединение.
- строка
$field - Имя поля, к которому добавляется объединение.
- строка
$aliasField - Имя алиасированного поля, к которому добавляется объединение.
- строка|массив
$locale - Локали, для которых добавляются объединения.
Возвращает
arrayИзмененный запрос
_checkConditionsисходный код защищенный
_checkConditions( Model $Model , array $query )
Проверяет условия запроса на наличие переведенных полей. Возвращает массив найденных переведенных полей в условиях.
Параметры
-
Model$Model - Модель, которая читается.
- массив
$query - Массив запроса.
Возвращает
arrayСписок переведенных полей, присутствующих в условиях.
_getLocaleисходный код защищенный
_getLocale( Model $Model )
Получение выбранной локали для модели
Параметры
-
Model$Model - Модель, для которой необходимо установить/получить локаль.
Возвращает
mixedстрока или ложь
_prepareTranslationsисходный код защищенный
_prepareTranslations( Model $Model , array $data )
Подготавливает данные для сохранения для переведенных записей. Добавляет пустые поля и заполняет данные для сохранения по нескольким локалям.
Параметры
-
Model$Model - Модель, использующая данное поведение
- массив
$data - Разреженный массив, который был предоставлен.
Возвращает
arrayПолностью заполненные данные для сохранения.
_removeFieldисходный код защищенный
_removeField( Model $Model , string $field )
Обновляет настройки времени выполнения для данного поля.
Параметры
-
Model$Model - Модель, использующая это поведение
- строка
$field - Поле для обновления.
_setRuntimeDataисходный код защищенный
_setRuntimeData( Model $Model )
Устанавливает данные времени выполнения.
Используется из beforeValidate() и beforeSave() для решения проблем совместимости и для сохранения переводов даже при отключенной валидации.
Параметры
-
Model$Model - Модель, использующая это поведение.
afterDeleteисходный код общедоступный
afterDelete( Model $Model )
Обработчик afterDelete
Параметры
-
Model$Model - Модель, на которой был вызван обработчик.
Переопределяет
ModelBehavior::afterDelete() afterFindисходный код общедоступный
afterFind( Model $Model , array $results , boolean $primary false )
Обработчик afterFind
Параметры
-
Model$Model - Модель, на которой выполнялся поиск
- массив
$results - Массив результатов модели.
- логическое значение
$primaryнеобязательно false - Произошел ли поиск на основе $model.
Возвращает
arrayИзмененные результаты
Переопределяет
ModelBehavior::afterFind() afterSaveисходный код общедоступный
afterSave( Model $Model , boolean $created , array $options array() )
Обработчик afterSave
Параметры
-
Model$Model - Модель, на которой вызывается обработчик
- логическое значение
$created - Создана ли запись в результате сохранения.
- массив
$optionsнеобязательно массив() - Опции, переданные из Model::save().
Переопределяет
ModelBehavior::afterSave() afterValidateисходный код общедоступный
afterValidate( Model $Model )
Восстанавливает данные модели до исходных данных. Это решает проблемы с saveAssociated и validate = first.
Параметры
-
Model$Model - Модель, использующая это поведение.
Переопределяет
ModelBehavior::afterValidate() beforeFindисходный код общедоступный
beforeFind( Model $Model , array $query )
Обработчик beforeFind
Параметры
-
Model$Model - Модель, на которой выполняется поиск.
- массив
$query - Массив параметров запроса.
Возвращает
arrayИзмененный запрос
Переопределяет
ModelBehavior::beforeFind() beforeSaveисходный код общедоступный
beforeSave( Model $Model , array $options array() )
Обработчик beforeSave.
Копирует данные в свойство времени выполнения, когда $options['validate'] отключено. Или данные времени выполнения еще не установлены.
Параметры
-
Model$Model - Модель, на которой вызывалось сохранение.
- массив
$optionsнеобязательно массив() - Опции, переданные из Model::save().
Возвращает
booleanистина.
См. также
Model::save()Переопределяет
ModelBehavior::beforeSave() beforeValidateисходный код общедоступный
beforeValidate( Model $Model , array $options array() )
Обработчик beforeValidate
Параметры
-
Model$Model - Модель, на которой был вызван invalidFields.
- массив
$optionsнеобязательно массив() - Опции, переданные из Model::save().
Возвращает
booleanbool
См. также
Model::save()Переопределяет
ModelBehavior::beforeValidate() bindTranslationисходный код общедоступный
bindTranslation( Model $Model , string|array $fields , boolean $reset true )
Связывает перевод для полей, необязательно с ассоциацией hasMany для фиктивного поля.
Примечание Следует избегать связывания переводов, которые перекрывают существующие свойства модели. Это может привести к непредсказуемому и нежелательному поведению.
Параметры
-
Model$Model - использующая данное поведение модель
- строка|массив
$fields - строка с полем или массив(поле1, поле2=>ИмяАссоциации, поле3)
- логическое значение
$resetнеобязательно истина - Оставить значение true, чтобы поля изменялись только для следующей операции. Если ложь, поле будет добавлено для всех будущих запросов.
Возвращает
booleanbool
Исключения
CakeExceptionпри попытке привязать перевод с именем, используемым для перевода. Это запрещено, так как это затеняет Model::$name.
cleanupsource public
cleanup( Model $Model )
Метод обратного вызова cleanup отвязывает привязанные переводы и удаляет информацию о настройках.
Параметры
-
Model$Model - Модель, которая отсоединяется.
Переопределяет
ModelBehavior::cleanup() setupsource public
setup( Model $Model , array $config array() )
Метод обратного вызова
$config для TranslateBehavior должен быть массивом ('fields' => array('field_one', 'field_two' => 'FieldAssoc', 'field_three'))
В приведённом примере будет установлено только одно постоянное hasMany соединение (для field_two как FieldAssoc)
$config может быть пустым - и переводы настраиваются динамически методом bindTranslation()
Параметры
-
Model$Model - Модель, к которой прикрепляется поведение.
- массив
$configнеобязательно array() - Массив с информацией о конфигурации.
Возвращает
mixedсмешанный тип
Переопределяет
ModelBehavior::setup() translateModelsource public
translateModel( Model $Model )
Получить экземпляр модели для переводов.
Если для модели установлено свойство translateModel, оно будет использоваться в качестве имени класса для поиска/использования. Если свойство translateModel не найдено, будет использоваться 'I18nModel'.
Параметры
-
Model$Model - Модель, для которой нужно получить translateModel.
Возвращает
ModelМодель
unbindTranslationsource public
unbindTranslation( Model $Model , string|array $fields null )
Отвязать перевод для полей, необязательно отвязать ассоциацию hasMany для фиктивного поля
Параметры
-
Model$Model - используя это поведение модели
- строка|массив
$fieldsнеобязательно null - строка с полем, или массив (field1, field2=>AssocName, field3), или null для отвязки всех оригинальных переводов
Возвращает
booleanboolean
Методы, унаследованные от ModelBehavior
_addToWhitelistsource protected
_addToWhitelist( Model $model , string $field )
Если свойство whitelist модели не пустое, $field будет добавлен в него. Примечание: этот метод следует использовать только в beforeValidate или beforeSave, чтобы убедиться, что он изменяет список разрешённых полей только для текущей операции сохранения. Также убедитесь, что вы явно установили значение поля, которое вы разрешаете.
Параметры
-
Model$model - Модель, использующая это поведение
- строка
$field - Поле, которое нужно добавить в список разрешённых полей модели
beforeDeletesource public
beforeDelete( Model $model , boolean $cascade true )
beforeDelete вызывается перед любой операцией удаления прикреплённой модели, но после вызова метода beforeDelete модели. Возврат значения false из beforeDelete прервёт удаление.
Параметры
-
Model$model - Модель, использующая это поведение
- boolean
$cascadeнеобязательно true - Если true, записи, которые зависят от этой записи, также будут удалены
Возвращает
mixedFalse, если операция должна быть прервана. Любой другой результат будет продолжен.
onErrorsource public
onError( Model $model , string $error )
Обработчик ошибок источника данных
Параметры
-
Model$model - Модель, использующая это поведение
- строка
$error - Ошибка, сгенерированная в DataSource
Методы, унаследованные от Object
_mergeVarssource protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойство $property этого объекта со свойством в определении $class. Значение этого класса для свойства будет объединено поверх $class'
Это обеспечивает некоторые из возможностей DRY, предоставляемые CakePHP. Если вы хотите отключить его, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс, с которым объединить свойство.
- boolean
$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 array
Позволяет сопоставлять регулярные выражения preg-совместимые с публичными или приватными методами в этом классе, где ключ массива является регулярным выражением /-разделенным, а значение — методом класса. Аналогично функциональности магических методов findBy* / findAllBy*.
array() $settingssource
public array
Содержит параметры конфигурации для использования с отдельными объектами моделей. Это используется, потому что, если несколько моделей используют этот Behavior, каждый будет использовать тот же экземпляр объекта. Отдельные настройки модели должны храниться в ассоциативном массиве, индексированном по имени модели.
См. также
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-TranslateBehavior.html