From 520f65e15bf0bafe9c8c1f293f16620c9ae90f78 Mon Sep 17 00:00:00 2001 From: "quot;brussens" Date: Tue, 1 Jul 2014 18:44:03 +0400 Subject: [PATCH 1/5] Russian translate concept-service-locator. md Added Russian translate docs\guide-ru\concept-service-locator.md. --- docs/guide-ru/concept-service-locator.md | 90 ++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 docs/guide-ru/concept-service-locator.md diff --git a/docs/guide-ru/concept-service-locator.md b/docs/guide-ru/concept-service-locator.md new file mode 100644 index 0000000000..7b7c33e98b --- /dev/null +++ b/docs/guide-ru/concept-service-locator.md @@ -0,0 +1,90 @@ +Service Locator +=============== + +Service Locator является объектом, который знает, как обеспечить всевозможные службы (или компоненты), которые могут понадобиться в приложении. +В пределах Service Locator `а, каждый компонент имеет только один экземпляр, который уникально определяется с помощью идентификатора (ID). +Уникальный идентификатор (ID) может быть использован для извлечения компонента из Service Locator`а. + +В Yii Service Locator является экземпляром класса [[yii\di\ServiceLocator]] или его дочернего класса. + +Наиболее часто используемый Service Locator в Yii - это объект *приложения*, который можно получить через +`\Yii::$app`. Обеспечиваемые им службы называют *компонентами приложения*, такие как `запрос`, `ответ`, компоненты +`UrlManager'а`. Вы легко можете настроить эти компоненты или даже заменить их собственными реализациями, +благодаря функциональным службам, предоставляемым Service Locator`ом. + +Помимо объекта приложения, объект каждого модуля так же является Service Locator’ом. + +Для использования Service Locator`а первым шагом является регистрация компонентов. +Компонент может быть зарегистрирован с помощью [[yii\di\ServiceLocator::set()]]. +Следующий код демонстрирует различные способы регистрации компонентов: + +```php +use yii\di\ServiceLocator; +use yii\caching\FileCache; + +$locator = new ServiceLocator; + +// register "cache" using a class name that can be used to create a component +$locator->set('cache', 'yii\caching\ApcCache'); + +// register "db" using a configuration array that can be used to create a component +$locator->set('db', [ + 'class' => 'yii\db\Connection', + 'dsn' => 'mysql:host=localhost;dbname=demo', + 'username' => 'root', + 'password' => '', +]); + +// register "search" using an anonymous function that builds a component +$locator->set('search', function () { + return new app\components\SolrService; +}); + +// register "pageCache" using a component +$locator->set('pageCache', new FileCache); +``` + +После того, как компонент зарегистрирован, вы можете получить к нему доступ, используя уникальный идентификатор (ID), +одним из двух следующих способов: + +```php +$cache = $locator->get('cache'); +// or alternatively +$cache = $locator->cache; +``` + +Как видно выше, [[yii\di\ServiceLocator]] позволяет обратиться к компоненту, как к свойству, +при помощи идентификатора (ID) компонента. +При обращении к компоненту впервые, [[yii\di\ServiceLocator]] будет использовать информацию о регистрации компонента, +что бы создать новый экземпляр компонента и вернёт его. +В дальнейшем при обращении к компоненту снова, Service Locator вернёт тот же экземпляр. + + +Что бы проверить, был ли идентификатор (ID) компонента уже зарегистрирован, можно использовать [[yii\di\ServiceLocator::has()]]. +Если вы вызовете [[yii\di\ServiceLocator::get()]] с недопустимым идентификатором (ID), тогда будет выброшено исключение. + + + +Поскольку Service Locator`ы зачастую создаются с [конфигурациями](concept-configurations.md), +записываемое свойство с именем [[yii\di\ServiceLocator::setComponents()|components]] предоставляется так, +что Вы можете его настроить и зарегистрировать несколько компонентов одновременно. +Следующий код демонстрирует конфигурационный массив, +который может использоваться для настройки приложения и регистрации компонентов "db", "cache" и "search" : + +```php +return [ + // ... + 'components' => [ + 'db' => [ + 'class' => 'yii\db\Connection', + 'dsn' => 'mysql:host=localhost;dbname=demo', + 'username' => 'root', + 'password' => '', + ], + 'cache' => 'yii\caching\ApcCache', + 'search' => function () { + return new app\components\SolrService; + }, + ], +]; +``` From 57250cfe3b3a513b698323fa6ed5508d200c09f2 Mon Sep 17 00:00:00 2001 From: "quot;brussens" Date: Tue, 1 Jul 2014 18:46:37 +0400 Subject: [PATCH 2/5] Revert "Russian translate concept-service-locator. md" This reverts commit 520f65e15bf0bafe9c8c1f293f16620c9ae90f78. --- docs/guide-ru/concept-service-locator.md | 90 ------------------------ 1 file changed, 90 deletions(-) delete mode 100644 docs/guide-ru/concept-service-locator.md diff --git a/docs/guide-ru/concept-service-locator.md b/docs/guide-ru/concept-service-locator.md deleted file mode 100644 index 7b7c33e98b..0000000000 --- a/docs/guide-ru/concept-service-locator.md +++ /dev/null @@ -1,90 +0,0 @@ -Service Locator -=============== - -Service Locator является объектом, который знает, как обеспечить всевозможные службы (или компоненты), которые могут понадобиться в приложении. -В пределах Service Locator `а, каждый компонент имеет только один экземпляр, который уникально определяется с помощью идентификатора (ID). -Уникальный идентификатор (ID) может быть использован для извлечения компонента из Service Locator`а. - -В Yii Service Locator является экземпляром класса [[yii\di\ServiceLocator]] или его дочернего класса. - -Наиболее часто используемый Service Locator в Yii - это объект *приложения*, который можно получить через -`\Yii::$app`. Обеспечиваемые им службы называют *компонентами приложения*, такие как `запрос`, `ответ`, компоненты -`UrlManager'а`. Вы легко можете настроить эти компоненты или даже заменить их собственными реализациями, -благодаря функциональным службам, предоставляемым Service Locator`ом. - -Помимо объекта приложения, объект каждого модуля так же является Service Locator’ом. - -Для использования Service Locator`а первым шагом является регистрация компонентов. -Компонент может быть зарегистрирован с помощью [[yii\di\ServiceLocator::set()]]. -Следующий код демонстрирует различные способы регистрации компонентов: - -```php -use yii\di\ServiceLocator; -use yii\caching\FileCache; - -$locator = new ServiceLocator; - -// register "cache" using a class name that can be used to create a component -$locator->set('cache', 'yii\caching\ApcCache'); - -// register "db" using a configuration array that can be used to create a component -$locator->set('db', [ - 'class' => 'yii\db\Connection', - 'dsn' => 'mysql:host=localhost;dbname=demo', - 'username' => 'root', - 'password' => '', -]); - -// register "search" using an anonymous function that builds a component -$locator->set('search', function () { - return new app\components\SolrService; -}); - -// register "pageCache" using a component -$locator->set('pageCache', new FileCache); -``` - -После того, как компонент зарегистрирован, вы можете получить к нему доступ, используя уникальный идентификатор (ID), -одним из двух следующих способов: - -```php -$cache = $locator->get('cache'); -// or alternatively -$cache = $locator->cache; -``` - -Как видно выше, [[yii\di\ServiceLocator]] позволяет обратиться к компоненту, как к свойству, -при помощи идентификатора (ID) компонента. -При обращении к компоненту впервые, [[yii\di\ServiceLocator]] будет использовать информацию о регистрации компонента, -что бы создать новый экземпляр компонента и вернёт его. -В дальнейшем при обращении к компоненту снова, Service Locator вернёт тот же экземпляр. - - -Что бы проверить, был ли идентификатор (ID) компонента уже зарегистрирован, можно использовать [[yii\di\ServiceLocator::has()]]. -Если вы вызовете [[yii\di\ServiceLocator::get()]] с недопустимым идентификатором (ID), тогда будет выброшено исключение. - - - -Поскольку Service Locator`ы зачастую создаются с [конфигурациями](concept-configurations.md), -записываемое свойство с именем [[yii\di\ServiceLocator::setComponents()|components]] предоставляется так, -что Вы можете его настроить и зарегистрировать несколько компонентов одновременно. -Следующий код демонстрирует конфигурационный массив, -который может использоваться для настройки приложения и регистрации компонентов "db", "cache" и "search" : - -```php -return [ - // ... - 'components' => [ - 'db' => [ - 'class' => 'yii\db\Connection', - 'dsn' => 'mysql:host=localhost;dbname=demo', - 'username' => 'root', - 'password' => '', - ], - 'cache' => 'yii\caching\ApcCache', - 'search' => function () { - return new app\components\SolrService; - }, - ], -]; -``` From 94b88fcb8d5d9d67e1a4ba12ca56da91207ca0d0 Mon Sep 17 00:00:00 2001 From: "quot;brussens" Date: Tue, 1 Jul 2014 18:49:49 +0400 Subject: [PATCH 3/5] Russian translate concept-service-locator.md Added Russian translate docs\guide-ru\concept-service-locator.md --- docs/guide-ru/concept-service-locator.md | 90 ++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 docs/guide-ru/concept-service-locator.md diff --git a/docs/guide-ru/concept-service-locator.md b/docs/guide-ru/concept-service-locator.md new file mode 100644 index 0000000000..969fd7cb56 --- /dev/null +++ b/docs/guide-ru/concept-service-locator.md @@ -0,0 +1,90 @@ +Service Locator +=============== + +Service Locator является объектом, который знает, как обеспечить всевозможные службы (или компоненты), которые могут понадобиться в приложении. +В пределах Service Locator'а, каждый компонент имеет только один экземпляр, который уникально определяется с помощью идентификатора (ID). +Уникальный идентификатор (ID) может быть использован для извлечения компонента из Service Locator'а. + +В Yii Service Locator является экземпляром класса [[yii\di\ServiceLocator]] или его дочернего класса. + +Наиболее часто используемый Service Locator в Yii - это объект *приложения*, который можно получить через +`\Yii::$app`. Обеспечиваемые им службы называют *компонентами приложения*, такие как `запрос`, `ответ`, компоненты +`UrlManager'а`. Вы легко можете настроить эти компоненты или даже заменить их собственными реализациями, +благодаря функциональным службам, предоставляемым Service Locator'ом. + +Помимо объекта приложения, объект каждого модуля так же является Service Locator'ом. + +Для использования Service Locator'а первым шагом является регистрация компонентов. +Компонент может быть зарегистрирован с помощью [[yii\di\ServiceLocator::set()]]. +Следующий код демонстрирует различные способы регистрации компонентов: + +```php +use yii\di\ServiceLocator; +use yii\caching\FileCache; + +$locator = new ServiceLocator; + +// register "cache" using a class name that can be used to create a component +$locator->set('cache', 'yii\caching\ApcCache'); + +// register "db" using a configuration array that can be used to create a component +$locator->set('db', [ + 'class' => 'yii\db\Connection', + 'dsn' => 'mysql:host=localhost;dbname=demo', + 'username' => 'root', + 'password' => '', +]); + +// register "search" using an anonymous function that builds a component +$locator->set('search', function () { + return new app\components\SolrService; +}); + +// register "pageCache" using a component +$locator->set('pageCache', new FileCache); +``` + +После того, как компонент зарегистрирован, вы можете получить к нему доступ, используя уникальный идентификатор (ID), +одним из двух следующих способов: + +```php +$cache = $locator->get('cache'); +// or alternatively +$cache = $locator->cache; +``` + +Как видно выше, [[yii\di\ServiceLocator]] позволяет обратиться к компоненту, как к свойству, +при помощи идентификатора (ID) компонента. +При обращении к компоненту впервые, [[yii\di\ServiceLocator]] будет использовать информацию о регистрации компонента, +что бы создать новый экземпляр компонента и вернёт его. +В дальнейшем при обращении к компоненту снова, Service Locator вернёт тот же экземпляр. + + +Что бы проверить, был ли идентификатор (ID) компонента уже зарегистрирован, можно использовать [[yii\di\ServiceLocator::has()]]. +Если вы вызовете [[yii\di\ServiceLocator::get()]] с недопустимым идентификатором (ID), тогда будет выброшено исключение. + + + +Поскольку Service Locator`ы зачастую создаются с [конфигурациями](concept-configurations.md), +записываемое свойство с именем [[yii\di\ServiceLocator::setComponents()|components]] предоставляется так, +что Вы можете его настроить и зарегистрировать несколько компонентов одновременно. +Следующий код демонстрирует конфигурационный массив, +который может использоваться для настройки приложения и регистрации компонентов "db", "cache" и "search" : + +```php +return [ + // ... + 'components' => [ + 'db' => [ + 'class' => 'yii\db\Connection', + 'dsn' => 'mysql:host=localhost;dbname=demo', + 'username' => 'root', + 'password' => '', + ], + 'cache' => 'yii\caching\ApcCache', + 'search' => function () { + return new app\components\SolrService; + }, + ], +]; +``` From 313cf1513f5d6da8d7490e8d0fa85c9f9a590e70 Mon Sep 17 00:00:00 2001 From: "quot;brussens" Date: Tue, 1 Jul 2014 19:01:55 +0400 Subject: [PATCH 4/5] Russian translate concept-service-locator.md Added Russian translate docs\guide-ru\concept-service-locator.md --- docs/guide-ru/concept-service-locator.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/guide-ru/concept-service-locator.md b/docs/guide-ru/concept-service-locator.md index 969fd7cb56..69d0aa2567 100644 --- a/docs/guide-ru/concept-service-locator.md +++ b/docs/guide-ru/concept-service-locator.md @@ -24,10 +24,10 @@ use yii\caching\FileCache; $locator = new ServiceLocator; -// register "cache" using a class name that can be used to create a component +// Зарегистрирует "cache", используя имя класса, которое может быть использовано для создания компонента. $locator->set('cache', 'yii\caching\ApcCache'); -// register "db" using a configuration array that can be used to create a component +// Зарегистрирует "db", используя конфигурационный массив, который может быть использован для создания компонента. $locator->set('db', [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=demo', @@ -35,12 +35,12 @@ $locator->set('db', [ 'password' => '', ]); -// register "search" using an anonymous function that builds a component +// Зарегистрирует "search", используя анонимную функцию, которая создаёт компонент $locator->set('search', function () { return new app\components\SolrService; }); -// register "pageCache" using a component +// Зарегистрирует "pageCache", используя компонент $locator->set('pageCache', new FileCache); ``` @@ -49,7 +49,7 @@ $locator->set('pageCache', new FileCache); ```php $cache = $locator->get('cache'); -// or alternatively +// или альтернативный $cache = $locator->cache; ``` From 01be9002a78aed9979078f5bed73f26029ce317b Mon Sep 17 00:00:00 2001 From: "quot;brussens" Date: Wed, 2 Jul 2014 04:54:06 +0400 Subject: [PATCH 5/5] Correction semantic error Correction semantic error on line 11. --- docs/guide-ru/concept-service-locator.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guide-ru/concept-service-locator.md b/docs/guide-ru/concept-service-locator.md index 69d0aa2567..e251ef17c5 100644 --- a/docs/guide-ru/concept-service-locator.md +++ b/docs/guide-ru/concept-service-locator.md @@ -8,8 +8,8 @@ Service Locator является объектом, который знает, к В Yii Service Locator является экземпляром класса [[yii\di\ServiceLocator]] или его дочернего класса. Наиболее часто используемый Service Locator в Yii - это объект *приложения*, который можно получить через -`\Yii::$app`. Обеспечиваемые им службы называют *компонентами приложения*, такие как `запрос`, `ответ`, компоненты -`UrlManager'а`. Вы легко можете настроить эти компоненты или даже заменить их собственными реализациями, +`\Yii::$app`. Обеспечиваемые им службы называют *компонентами приложения*, такие, как компоненты `запрос`, `ответ`, `UrlManager`. +Вы легко можете настроить эти компоненты или даже заменить их собственными реализациями, благодаря функциональным службам, предоставляемым Service Locator'ом. Помимо объекта приложения, объект каждого модуля так же является Service Locator'ом.