Spec-Zone.ru › Yii 2.0

Класс yii\mongodb\i18n\MongoDbMessageSource

Все классы | Свойства | Методы | События
Наследование yii\mongodb\i18n\MongoDbMessageSource » yii\i18n\MessageSource » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable
Доступно с версии 2.0.5
Исходный код https://github.com/yiisoft/yii2-mongodb/blob/master/i18n/MongoDbMessageSource.php

MongoDbMessageSource расширяет yii\i18n\MessageSource и представляет собой источник сообщений, хранящий переведённые сообщения в коллекции MongoDB.

Этот источник сообщений использует одну коллекцию для хранения переводов сообщений, определённую через $collection. Каждый элемент в этой коллекции должен иметь 3 поля:

  • language: строка, язык перевода
  • category: строка, имя категории перевода
  • messages: массив, список фактических переводов сообщений, в каждом элементе: ключ — имя исходного сообщения, значение — перевод сообщения.

Например:

{
    "category": "app",
    "language": "de",
    "messages": {
        "Hello world!": "Hallo Welt!",
        "The dog runs fast.": "Der Hund rennt schnell.",
        ...
    },
}

Публичные свойства

Свойство Тип Описание Определено в
$behaviors yii\base\Behavior[] Список поведенческих элементов, присоединенных к этому компоненту yii\base\Component
$cache yii\caching\Cache|массив|строка Объект кэша или идентификатор компонента приложения объекта кэша. yii\mongodb\i18n\MongoDbMessageSource
$cachingDuration целое число Время в секундах, в течение которого сообщения могут оставаться действительными в кэше. yii\mongodb\i18n\MongoDbMessageSource
$collection строка|массив Имя коллекции MongoDB, которая хранит переведённые сообщения. yii\mongodb\i18n\MongoDbMessageSource
$db yii\mongodb\Connection|массив|строка Объект подключения к MongoDB или идентификатор компонента приложения подключения к MongoDB. yii\mongodb\i18n\MongoDbMessageSource
$enableCaching логическое значение Включить кэширование переведённых сообщений yii\mongodb\i18n\MongoDbMessageSource
$forceTranslation логическое значение Принудительно выполнять перевод сообщений, когда языки исходные и целевые совпадают. yii\i18n\MessageSource
$sourceLanguage строка Язык, на котором написаны исходные сообщения. yii\i18n\MessageSource

Публичные методы

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. yii\base\Component
__clone() Этот метод вызывается после создания объекта путём клонирования существующего. yii\base\Component
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства компонента. yii\base\Component
__isset() Проверяет, установлено ли свойство, т. е. определено и не равно null. yii\base\Component
__set() Устанавливает значение свойства компонента. yii\base\Component
__unset() Устанавливает свойство компонента в значение null. yii\base\Component
attachBehavior() Присоединяет поведенческий элемент к этому компоненту. yii\base\Component
attachBehaviors() Присоединяет список поведенческих элементов к компоненту. yii\base\Component
behaviors() Возвращает список поведенческих элементов, которые должен представлять этот компонент. yii\base\Component
canGetProperty() Возвращает значение, указывающее, можно ли читать свойство. yii\base\Component
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Component
className() Возвращает полное квалифицированное имя этого класса. yii\base\Object
detachBehavior() Отсоединяет поведенческий элемент от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведенческие элементы от компонента. yii\base\Component
ensureBehaviors() Убеждается, что поведенческие элементы, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
getBehavior() Возвращает объект поведенческого элемента с заданным именем. yii\base\Component
getBehaviors() Возвращает все поведенческие элементы, присоединённые к этому компоненту. yii\base\Component
hasEventHandlers() Возвращает значение, указывающее, есть ли какой-либо обработчик, присоединённый к названному событию. yii\base\Component
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Component
hasProperty() Возвращает значение, указывающее, определено ли свойство для этого компонента. yii\base\Component
init() Инициализирует компонент DbMessageSource. yii\mongodb\i18n\MongoDbMessageSource
off() Отсоединяет существующий обработчик событий от этого компонента. yii\base\Component
on() Присоединяет обработчик событий к событию. yii\base\Component
translate() Переводит сообщение на указанный язык. yii\i18n\MessageSource
trigger() Вызывает событие. yii\base\Component

Защищённые методы

Метод Описание Определено в
loadMessages() Загружает перевод сообщений для указанного языка и категории. yii\mongodb\i18n\MongoDbMessageSource
loadMessagesFromDb() Загружает сообщения из MongoDB. yii\mongodb\i18n\MongoDbMessageSource
translateMessage() Переводит указанное сообщение. yii\i18n\MessageSource

События

Событие Тип Описание Определено в
EVENT_MISSING_TRANSLATION yii\i18n\MissingTranslationEvent Событие, которое срабатывает, когда перевод сообщения не найден. yii\i18n\MessageSource

Подробности свойств

$cache общедоступное свойство

Объект кэша или идентификатор компонента приложения для объекта кэша. Данные сообщений будут кэшироваться с помощью этого объекта кэша. Обратите внимание, что для включения кэширования необходимо установить $enableCaching в true, в противном случае установка этого свойства не окажет никакого эффекта.

После создания объекта MongoDbMessageSource, если вы хотите изменить это свойство, вы должны назначить ему только объект кэша.

Это также может быть конфигурационный массив для создания объекта.

См. также:

  • $cachingDuration
  • $enableCaching
public yii\caching\Cache|array|string $cache = 'cache'

$cachingDuration общедоступное свойство

Время в секундах, в течение которого сообщения могут оставаться действительными в кэше. Используйте 0, чтобы указать, что данные кэша никогда не истекут.

См. также $enableCaching.

public integer $cachingDuration = 0

$collection общедоступное свойство

Имя коллекции MongoDB, в которой хранятся переведенные сообщения. Эту коллекцию лучше предварительно создать с полями 'category' и 'language', индексированными.

public string|array $collection = 'message'

$db общедоступное свойство

Объект подключения к MongoDB или идентификатор компонента приложения для подключения к MongoDB.

После создания объекта MongoDbMessageSource, если вы хотите изменить это свойство, вы должны назначить ему только объект подключения к MongoDB.

Это также может быть конфигурационный массив для создания объекта.

public yii\mongodb\Connection|array|string $db = 'mongodb'

$enableCaching общедоступное свойство

Включить кэширование переведенных сообщений

public boolean $enableCaching = false

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

init() общедоступный метод

Инициализирует компонент DbMessageSource.

Этот метод инициализирует свойство $db, чтобы убедиться, что оно ссылается на действительное подключение к БД. Также будет инициализирован настроенный компонент $cache.

public void init ( )
throws yii\base\InvalidConfigException

если $db недействителен или $cache недействителен.

loadMessages() защищённый метод

Загружает перевод сообщений для указанного языка и категории.

Если перевод для конкретного кода локали, например, en-US , не найден, он пытается найти более общий en.

protected массив loadMessages ( $category, $language )
$category строка

Категория сообщений

$language строка

Целевой язык

return массив

Загруженные сообщения. Ключи — исходные сообщения, значения — переведенные сообщения.

loadMessagesFromDb() защищённый метод

Загружает сообщения из MongoDB.

Вы можете переопределить этот метод, чтобы настроить хранение сообщений в MongoDB.

protected массив loadMessagesFromDb ( $category, $language )
$category строка

Категория сообщений.

$language строка

Целевой язык.

return массив

Сообщения, загруженные из базы данных.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-mongodb-i18n-mongodbmessagesource.html

Spec-Zone.ru

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