Spec-Zone.ru › CakePHP 2.10

Класс TranslateBehavior

Поведение для перевода

CakeObject
Extended by ModelBehavior
Extended by TranslateBehavior
Пакет: Cake\Модель\Поведение
Ссылка: https://book.cakephp.org/2.0/ru/core-libraries/behaviors/translate.html
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Model/Behavior/TranslateBehavior.php

Краткое описание свойств

  • $_joinTable protected
    object
    Хранит объект joinTable для генерации соединений.
  • $_runtimeModel protected
    Model
    Хранит модель во время выполнения для генерации соединений.
  • $runtime public
    array
    Используется для конфигурации модели во время выполнения.

Наследованные свойства

  • mapMethods, settings

Краткое описание методов

  • _addAllJoins() protected
    Добавляет все необходимые соединения для переведенных полей.
  • _addJoin() protected
    Добавляет соединение для переведенных полей.
  • _checkConditions() protected

    Проверяет условия запроса на наличие переведенных полей. Возвращает массив найденных переведенных полей в условиях.

  • _getConditionFields() protected
    Рекурсивно извлекает имена полей условий.
  • _getFields() protected
    Получает поля для извлечения.
  • _getLocale() protected
    Получение выбранного языка для модели.
  • _prepareTranslations() protected

    Подготавливает данные для сохранения переведенных записей. Добавляет пустые поля и заполняет данные для сохранения по нескольким языкам.

  • _removeField() protected
    Обновление настроек во время выполнения для заданного поля.
  • _setRuntimeData() protected
    Устанавливает данные во время выполнения.
  • afterDelete() public
    Обработчик afterDelete.
  • afterFind() public
    Обработчик afterFind.
  • afterSave() public
    Обработчик afterSave.
  • afterValidate() public

    Восстанавливает данные модели до исходных данных. Это решает проблемы с saveAssociated и validate = first.

  • beforeFind() public
    Обработчик beforeFind.
  • beforeSave() public
    Обработчик beforeSave.
  • beforeValidate() public
    Обработчик beforeValidate.
  • bindTranslation() public

    Связывает перевод для полей, необязательно с ассоциацией hasMany для фиктивного поля.

  • cleanup() public
    Обработчик очистки, отвязывает привязанные переводы и удаляет информацию о настройках.
  • setup() public
    Обработчик.
  • translateModel() public
    Получение экземпляра модели для переводов.
  • unbindTranslation() public

    Отвязывает перевод для полей, необязательно отвязывает ассоциацию hasMany для фиктивного поля.

Подробное описание методов

_addAllJoins()source protected

_addAllJoins( Model $Model , array $query , array $addFields )

Добавляет все необходимые соединения для переведенных полей.

Параметры

Model $Model
Модель, над которой ведется работа.
массив $query
Массив запроса, к которому добавляются соединения.
массив $addFields
Поля, к которым добавляются соединения.

Возвращает

массив
Измененный запрос

_addJoin()source protected

_addJoin( Model $Model , array $query , string $field , string $aliasField , string|array $locale )

Добавляет соединение для переведенных полей.

Параметры

Model $Model
Модель, над которой ведется работа.
массив $query
Массив запроса, к которому добавляется соединение.
строка $field
Имя поля, к которому добавляется соединение.
строка $aliasField
Имя алиасированного поля, к которому добавляется соединение.
строка|массив $locale
Язык(и), для которых добавляются соединения.

Возвращает

массив
Измененный запрос

_checkConditions()source protected

_checkConditions( Model $Model , array $query )

Проверяет условия запроса на наличие переведенных полей. Возвращает массив найденных переведенных полей в условиях.

Параметры

Model $Model
Модель, которая читается.
массив $query
Массив запроса.

Возвращает

массив
Список переведенных полей, которые присутствуют в условиях.

_getConditionFields()source protected

_getConditionFields( Model $Model , array $conditions )

Рекурсивно извлекает имена полей условий.

Параметры

Model $Model
Модель, которая читается.
массив $conditions
Массив условий.

Возвращает

массив
Список полей условий.

_getFields()source protected

_getFields( Model $Model , array $query )

Получает поля для извлечения.

Параметры

Model $Model
Модель, над которой ведется работа.
массив $query
Массив запроса, из которого берутся поля.

Возвращает

массив
Поля.

_getLocale()source protected

_getLocale( Model $Model )

Получение выбранного языка для модели

Параметры

Model $Model
Модель, для которой необходимо установить/получить язык.

Возвращает

смешанный тип
строка или ложь

_prepareTranslations()source protected

_prepareTranslations( Model $Model , array $data )

Подготавливает данные для сохранения переведенных записей. Добавляет пустые поля и заполняет данные для сохранения по нескольким языкам.

Параметры

Model $Model
Модель, использующая это поведение
массив $data
Разряженные данные, которые были предоставлены.

Возвращает

массив
Полностью заполненные данные для сохранения.

_removeField()source protected

_removeField( Model $Model , string $field )

Обновление настроек во время выполнения для заданного поля.

Параметры

Model $Model
Модель, использующая это поведение
строка $field
Обновляемое поле.
END_OF_DOCUMENT_MARKER

_setRuntimeData()source protected

_setRuntimeData( Model $Model )

Устанавливает данные выполнения.

Используется из beforeValidate() и beforeSave() для решения проблем совместимости и для сохранения переводов даже при отключенной валидации.

Параметры

Model $Model
Модель, использующая этот метод.

afterDelete()source public

afterDelete( Model $Model )

Обработчик после удаления

Параметры

Model $Model
Модель, на которой был выполнен обработачик.

Переопределяет

ModelBehavior::afterDelete()

afterFind()source public

afterFind( Model $Model , array $results , boolean $primary false )

Обработчик после поиска

Параметры

Model $Model
Модель, на которой был выполнен поиск
массив $results
Массив результатов модели.
логическое значение $primary необязательно false
Произошел ли поиск на $model.

Возвращает

массив
Изменённые результаты

Переопределяет

ModelBehavior::afterFind()

afterSave()source public

afterSave( Model $Model , boolean $created , array $options array() )

Обработчик после сохранения

Параметры

Model $Model
Модель, на которой был выполнен обработачик.
логическое значение $created
Создал ли сохранение запись.
массив $options необязательно array()
Параметры, переданные из Model::save().

Переопределяет

ModelBehavior::afterSave()

afterValidate()source public

afterValidate( Model $Model )

Восстанавливает данные модели к исходным. Это решает проблемы с saveAssociated и validate = first.

Параметры

Model $Model
Модель, использующая этот метод.

Переопределяет

ModelBehavior::afterValidate()

beforeFind()source public

beforeFind( Model $Model , array $query )

Обработчик перед поиском

Параметры

Model $Model
Модель, на которой выполняется поиск.
массив $query
Массив параметров запроса.

Возвращает

массив
Изменённый запрос

Переопределяет

ModelBehavior::beforeFind()

beforeSave()source public

beforeSave( Model $Model , array $options array() )

Обработчик перед сохранением.

Копирует данные в свойство выполнения, когда $options['validate'] отключено или данные выполнения еще не установлены.

Параметры

Model $Model
Модель, на которой был вызван метод сохранения.
массив $options необязательно array()
Параметры, переданные из Model::save().

Возвращает

логическое значение
true.

См.

Model::save()

Переопределяет

ModelBehavior::beforeSave()

beforeValidate()source public

beforeValidate( Model $Model , array $options array() )

Обработчик перед валидацией

Параметры

Model $Model
Модель, на которой был вызван invalidFields.
массив $options необязательно array()
Параметры, переданные из Model::save().

Возвращает

логическое значение

См.

Model::save()

Переопределяет

ModelBehavior::beforeValidate()

bindTranslation()source public

bindTranslation( Model $Model , string|array $fields , boolean $reset true )

Связывает перевод для полей, необязательно с ассоциацией hasMany для фиктивного поля.

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

Параметры

Model $Model
модель, использующая этот метод
строка|массив $fields
строка с полем или массив (поле1, поле2=>ИмяАссоциации, поле3)
логическое значение $reset необязательно true

Оставить значение true, чтобы поля изменялись только для следующей операции. Если значение false, поле будет добавлено для всех будущих запросов.

Возвращает

логическое значение

Выбрасывает

CakeException

при попытке привязать перевод с именем, используемым для вызова метода. Это запрещено, так как оно затеняет Model::$name.


cleanup()source public

cleanup( Model $Model )

Обработчик очистки отвязывает привязанные переводы и удаляет настройки.

Параметры

Model $Model
Модель, которая отсоединяется.

Переопределяет

ModelBehavior::cleanup()

setup()source public

setup( Model $Model , array $config array() )

Обработчик

$config для TranslateBehavior должен быть массивом ('fields' => массив ('поле_один', 'поле_два' => 'АссоциацияПоля', 'поле_три'))

В приведенном выше примере будет выполнено только одно постоянное присоединение hasMany (для поля_два как АссоциацияПоля)

$config может быть пустым - и переводы настраиваются динамически методом bindTranslation()

По умолчанию для извлечения переводов используются INNER соединения. Для использования других типов соединений $config должен содержать ключ 'joinType':

array(
    'fields' => array('field_one', 'field_two' => 'FieldAssoc', 'field_three'),
    'joinType' => 'LEFT',
)

В модели он может быть настроен следующим образом:

public $actsAs = array(
    'Translate' => array(
        'content',
        'title',
        'joinType' => 'LEFT',
    ),
);

Параметры

Model $Model
Модель, к которой прикрепляется метод.
массив $config необязательно array()
Массив данных конфигурации.

Возвращает

смешанное значение

Переопределяет

ModelBehavior::setup()

translateModel()source public

translateModel( Model $Model )

Получение экземпляра модели для переводов.

Если у модели есть свойство translateModel, оно будет использоваться как имя класса для поиска/использования. Если свойство translateModel не найдено, будет использоваться 'I18nModel'.

Параметры

Model $Model
Модель, для которой требуется получить translateModel.

Возвращает

Model

unbindTranslation()source public

unbindTranslation( Model $Model , string|array $fields null )

Отвязывает перевод для полей, необязательно отвязывает ассоциацию hasMany для фиктивного поля

Параметры

Model $Model
модель, использующая этот метод
строка|массив $fields необязательно null

строка с полем, или массив (поле1, поле2=>ИмяАссоциации, поле3), или null для отвязки всех оригинальных переводов

Возвращает

логическое значение

Методы, унаследованные от ModelBehavior

_addToWhitelist()source protected

_addToWhitelist( Model $model , string $field )

Если свойство whitelist модели $model не пусто, $field будет добавлено в него. Примечание: этот метод должен только использоваться в beforeValidate или beforeSave, чтобы гарантировать, что он изменяет whitelist только для текущей операции сохранения. Также убедитесь, что вы явно установили значение поля, которое вы разрешаете.

Параметры

Model $model
Модель, использующая этот метод
строка $field
Поле, которое нужно добавить в список разрешенных полей модели $model
END_OF_DOCUMENT_MARKER

beforeDelete()source public

beforeDelete( Model $model , boolean $cascade true )

Метод beforeDelete вызывается перед удалением присоединённой модели, но после вызова метода beforeDelete модели. Возврат значения false из beforeDelete прервёт удаление.

Параметры

Model $model
Модель, использующая этот behaviour
boolean $cascade необязательно true
Если true, записи, зависящие от этой записи, также будут удалены

Возвращает

mixed
False, если операция должна быть прервана. Любой другой результат продолжит выполнение.

onError()source public

onError( Model $model , string $error )

Обработчик ошибок источника данных

Параметры

Model $model
Модель, использующая этот behaviour
string $error
Ошибка, сгенерированная источником данных

Методы, унаследованные от CakeObject

__construct()source public

__construct( )

Конструктор, не имеет эффекта

_mergeVars()source protected

_mergeVars( array $properties , string $class , boolean $normalize true )

Объединяет свойства объекта $property со свойствами в определении класса $class. Значение свойства для этого класса будет объединено сверху $class.

Это обеспечивает некоторую DRY-магию CakePHP. Если вы хотите это отключить, переопределите этот метод как пустую функцию.

Параметры

array $properties
Наименования свойств для объединения.
string $class
Класс для объединения свойств с.
boolean $normalize необязательно true
Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.

_set()source protected

_set( array $properties array() )

Позволяет установить несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.

Параметры

array $properties необязательно array()
Ассоциативный массив, содержащий свойства и соответствующие значения.

_stop()source protected

_stop( integer|string $status 0 )

Останавливает выполнение текущего скрипта. Обёртка для exit(), что упрощает тестирование.

Параметры

integer|string $status необязательно 0
см. http://php.net/exit для значений

dispatchMethod()source public

dispatchMethod( string $method , array $params array() )

Вызывает метод этого объекта с заданными параметрами. Предоставляет объектно-ориентированную обёртку для call_user_func_array

Параметры

string $method
Имя вызываемого метода
array $params необязательно array()
Список параметров для использования при вызове $method

Возвращает

mixed
Результат вызова метода

log()source public

log( string $msg , integer $type LOG_ERR , null|string|array $scope null )

Удобный метод для записи сообщения в CakeLog. Для получения дополнительной информации о записи в журналы, см. CakeLog::write().

Параметры

string $msg
Сообщение журнала
integer $type необязательно LOG_ERR
Константа типа ошибки. Определена в app/Config/core.php.
null|string|array $scope необязательно null

Область(и), в которой создаётся сообщение журнала. См. CakeLog::config() для получения дополнительной информации о областях ведения журналов.

Возвращает

boolean
Успешность записи в журнал

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.

Параметры

string|array $url

URL в виде строки или массива. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.

array $extra необязательно array()

Если массив содержит ключ "return", он устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.

Возвращает

mixed

Булевое значение true или false при успехе/неудачи, или содержимое рендеренного действия, если 'return' установлен в $extra.


toString()source public

toString( )

Преобразование CakeObject в строку. Каждый класс может переопределить этот метод по мере необходимости.

Возвращает

string
Имя этого класса

Подробное описание свойств

$_joinTablesource

protected object

Хранит объект joinTable для генерации объединений.

$_runtimeModelsource

protected Model

Хранит модель runtime для генерации объединений.

$runtimesource

public array

Используется для конфигурации модели во время выполнения

array()

© 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-TranslateBehavior.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API