PHP 클래스 yii\i18n\DbMessageSource

The database must contain the following two tables: source_message and message. The source_message table stores the messages to be translated, and the message table stores the translated messages. The name of these two tables can be customized by setting [[sourceMessageTable]] and [[messageTable]], respectively. The database connection is specified by [[db]]. Database schema could be initialized by applying migration: yii migrate --migrationPath=@yii/i18n/migrations/ If you don't want to use migration and need SQL instead, files for all databases are in migrations directory.
부터: 2.0
저자: resurtm ([email protected])
상속: extends MessageSource
파일 보기 프로젝트 열기: yiisoft/yii2 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
$cache the cache object or the application component ID of the cache object. The messages data will be cached using this cache object. Note, that to enable caching you have to set [[enableCaching]] to true, otherwise setting this property has no effect. After the DbMessageSource object is created, if you want to change this property, you should only assign it with a cache object. Starting from version 2.0.2, this can also be a configuration array for creating the object.
$cachingDuration the time in seconds that the messages can remain valid in cache. Use 0 to indicate that the cached data will never expire.
$db the DB connection object or the application component ID of the DB connection. After the DbMessageSource object is created, if you want to change this property, you should only assign it with a DB connection object. Starting from version 2.0.2, this can also be a configuration array for creating the object.
$enableCaching whether to enable caching translated messages
$messageTable the name of the translated message table.
$sourceMessageTable the name of the source message table.

공개 메소드들

메소드 설명
init ( ) Initializes the DbMessageSource component.

보호된 메소드들

메소드 설명
createFallbackQuery ( string $category, string $language, string $fallbackLanguage ) : Query The method builds the [[Query]] object for the fallback language messages search.
loadMessages ( string $category, string $language ) : array Loads the message translation for the specified language and category.
loadMessagesFromDb ( string $category, string $language ) : array Loads the messages from database.

메소드 상세

createFallbackQuery() 보호된 메소드

Normally is called from [[loadMessagesFromDb]].
또한 보기: loadMessagesFromDb
부터: 2.0.7
protected createFallbackQuery ( string $category, string $language, string $fallbackLanguage ) : Query
$category string the message category
$language string the originally requested language
$fallbackLanguage string the target fallback language
리턴 yii\db\Query

init() 공개 메소드

This method will initialize the [[db]] property to make sure it refers to a valid DB connection. Configured [[cache]] component would also be initialized.
public init ( )

loadMessages() 보호된 메소드

If translation for specific locale code such as en-US isn't found it tries more generic en.
protected loadMessages ( string $category, string $language ) : array
$category string the message category
$language string the target language
리턴 array the loaded messages. The keys are original messages, and the values are translated messages.

loadMessagesFromDb() 보호된 메소드

You may override this method to customize the message storage in the database.
protected loadMessagesFromDb ( string $category, string $language ) : array
$category string the message category.
$language string the target language.
리턴 array the messages loaded from database.

프로퍼티 상세

$cache 공개적으로 프로퍼티

the cache object or the application component ID of the cache object. The messages data will be cached using this cache object. Note, that to enable caching you have to set [[enableCaching]] to true, otherwise setting this property has no effect. After the DbMessageSource object is created, if you want to change this property, you should only assign it with a cache object. Starting from version 2.0.2, this can also be a configuration array for creating the object.
또한 보기: cachingDuration
또한 보기: enableCaching
public $cache

$cachingDuration 공개적으로 프로퍼티

the time in seconds that the messages can remain valid in cache. Use 0 to indicate that the cached data will never expire.
또한 보기: enableCaching
public $cachingDuration

$db 공개적으로 프로퍼티

the DB connection object or the application component ID of the DB connection. After the DbMessageSource object is created, if you want to change this property, you should only assign it with a DB connection object. Starting from version 2.0.2, this can also be a configuration array for creating the object.
public $db

$enableCaching 공개적으로 프로퍼티

whether to enable caching translated messages
public $enableCaching

$messageTable 공개적으로 프로퍼티

the name of the translated message table.
public $messageTable

$sourceMessageTable 공개적으로 프로퍼티

the name of the source message table.
public $sourceMessageTable