mirror of
https://github.com/yiisoft/yii2.git
synced 2025-08-14 22:30:27 +08:00
fix guide rus doc
This commit is contained in:
@ -315,7 +315,7 @@ class MyBootstrapClass implements BootstrapInterface
|
|||||||
отображает содержимое конечному пользователю, вы должны попробовать
|
отображает содержимое конечному пользователю, вы должны попробовать
|
||||||
[интернационализовать и локализовать](tutorial-i18n.md) его. В частности,
|
[интернационализовать и локализовать](tutorial-i18n.md) его. В частности,
|
||||||
|
|
||||||
- Если расширение отображает сообщения, предназначенные для конечных пользователей, сообщения должны быть обёрнуты в
|
- Если расширение отображает сообщения, предназначенные для конечных пользователей, сообщения должны быть обернуты в
|
||||||
метод `Yii::t()` так, чтобы они могли быть переведены. Сообщения, предназначенные для разработчиков (например,
|
метод `Yii::t()` так, чтобы они могли быть переведены. Сообщения, предназначенные для разработчиков (например,
|
||||||
внутренние сообщения исключений), не нужно переводить.
|
внутренние сообщения исключений), не нужно переводить.
|
||||||
- Если расширение отображает числа, даты и т.п., они должны быть отформатированы, используя [[yii\base\Formatter]] с
|
- Если расширение отображает числа, даты и т.п., они должны быть отформатированы, используя [[yii\base\Formatter]] с
|
||||||
|
@ -62,7 +62,7 @@ public function behaviors()
|
|||||||
|
|
||||||
При создании нового фильтра действия, необходимо наследоваться от [[yii\base\ActionFilter]] и переопределить методы
|
При создании нового фильтра действия, необходимо наследоваться от [[yii\base\ActionFilter]] и переопределить методы
|
||||||
[[yii\base\ActionFilter::beforeAction()|beforeAction()]] и/или [[yii\base\ActionFilter::afterAction()|afterAction()]].
|
[[yii\base\ActionFilter::beforeAction()|beforeAction()]] и/или [[yii\base\ActionFilter::afterAction()|afterAction()]].
|
||||||
Первый из них будет вызыван перед выполнением действия, а второй после. Возвращаемое
|
Первый из них будет вызван перед выполнением действия, а второй после. Возвращаемое
|
||||||
[[yii\base\ActionFilter::beforeAction()|beforeAction()]] значение определяет, будет ли действие выполняться или нет.
|
[[yii\base\ActionFilter::beforeAction()|beforeAction()]] значение определяет, будет ли действие выполняться или нет.
|
||||||
Если вернётся `false`, то оставшиеся фильтры не будут применены и действие выполнено не будет.
|
Если вернётся `false`, то оставшиеся фильтры не будут применены и действие выполнено не будет.
|
||||||
|
|
||||||
@ -286,7 +286,7 @@ public function behaviors()
|
|||||||
|
|
||||||
Ограничитель количества запросов в единицу времени *(RateLimiter)* реализует алгоритм ограничения запросов, основанный на
|
Ограничитель количества запросов в единицу времени *(RateLimiter)* реализует алгоритм ограничения запросов, основанный на
|
||||||
[алгоритме leaky bucket](http://en.wikipedia.org/wiki/Leaky_bucket). В основном, он используется при создании RESTful API.
|
[алгоритме leaky bucket](http://en.wikipedia.org/wiki/Leaky_bucket). В основном, он используется при создании RESTful API.
|
||||||
Подробнее об использовании данного фильтра пожно прочитать в разделе [Ограничение запросов](rest-rate-limiting.md).
|
Подробнее об использовании данного фильтра можно прочитать в разделе [Ограничение запросов](rest-rate-limiting.md).
|
||||||
|
|
||||||
|
|
||||||
### [[yii\filters\VerbFilter|VerbFilter]] <span id="verb-filter"></span>
|
### [[yii\filters\VerbFilter|VerbFilter]] <span id="verb-filter"></span>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
Вы можете создавать классы моделей путём расширения класса [[yii\base\Model]] или его дочерних классов. Базовый класс [[yii\base\Model]] поддерживает много полезных функций:
|
Вы можете создавать классы моделей путём расширения класса [[yii\base\Model]] или его дочерних классов. Базовый класс [[yii\base\Model]] поддерживает много полезных функций:
|
||||||
|
|
||||||
* [Атрибуты](#attributes): представляют собой рабочие данные и могут быть доступны как обычные свойства объекта или элементы массыва;
|
* [Атрибуты](#attributes): представляют собой рабочие данные и могут быть доступны как обычные свойства объекта или элементы массива;
|
||||||
* [Метки атрибутов](#attribute-labels): задают отображение атрибута;
|
* [Метки атрибутов](#attribute-labels): задают отображение атрибута;
|
||||||
* [Массовое присвоение](#massive-assignment): поддержка заполнения нескольких атрибутов в один шаг;
|
* [Массовое присвоение](#massive-assignment): поддержка заполнения нескольких атрибутов в один шаг;
|
||||||
* [Правила проверки](#validation-rules): обеспечивают ввод данных на основе заявленных правил проверки;
|
* [Правила проверки](#validation-rules): обеспечивают ввод данных на основе заявленных правил проверки;
|
||||||
@ -128,7 +128,7 @@ public function attributeLabels()
|
|||||||
|
|
||||||
## Сценарии <span id="scenarios"></span>
|
## Сценарии <span id="scenarios"></span>
|
||||||
|
|
||||||
Модель может быть использованна в различных *сценариях*. Например, модель `User` может быть использованна для коллекции входных логинов пользователей, а также может быть использованна для цели регистрации пользователей.
|
Модель может быть использована в различных *сценариях*. Например, модель `User` может быть использована для коллекции входных логинов пользователей, а также может быть использована для цели регистрации пользователей.
|
||||||
В различных сценариях, модель может использовать различные бизнес-правила и логику. Например, атрибут `email` может потребоваться во время регистрации пользователя, но не во время входа пользователя в систему.
|
В различных сценариях, модель может использовать различные бизнес-правила и логику. Например, атрибут `email` может потребоваться во время регистрации пользователя, но не во время входа пользователя в систему.
|
||||||
|
|
||||||
Модель использует свойство [[yii\base\Model::scenario]], чтобы отслеживать сценарий, в котором она используется. По умолчанию, модель поддерживает только один сценарий с именем `default`. В следующем коде показано два способа установки сценария модели:
|
Модель использует свойство [[yii\base\Model::scenario]], чтобы отслеживать сценарий, в котором она используется. По умолчанию, модель поддерживает только один сценарий с именем `default`. В следующем коде показано два способа установки сценария модели:
|
||||||
@ -267,7 +267,7 @@ $model->body = isset($data['body']) ? $data['body'] : null;
|
|||||||
|
|
||||||
### Безопасные Атрибуты <span id="safe-attributes"></span>
|
### Безопасные Атрибуты <span id="safe-attributes"></span>
|
||||||
|
|
||||||
Массовое присвоение применяется только к так называемым *безопасным атрибутам*, которые являются атрибутами, перечисленными в [[yii\base\Model::scenarios()]] в текущем сценарии [[yii\base\Model::scenario|scenario]] модели. Например, если модель `User` имеет следующий заданный сценарий, в данном случае это сценарий `login`, то только `username` и `password` могут быть массово присвоены. Любые другие атрибуты остануться нетронутыми.
|
Массовое присвоение применяется только к так называемым *безопасным атрибутам*, которые являются атрибутами, перечисленными в [[yii\base\Model::scenarios()]] в текущем сценарии [[yii\base\Model::scenario|scenario]] модели. Например, если модель `User` имеет следующий заданный сценарий, в данном случае это сценарий `login`, то только `username` и `password` могут быть массово присвоены. Любые другие атрибуты останутся нетронутыми.
|
||||||
|
|
||||||
```php
|
```php
|
||||||
public function scenarios()
|
public function scenarios()
|
||||||
|
@ -69,7 +69,7 @@ use yii\helpers\HtmlPurifier;
|
|||||||
</div>
|
</div>
|
||||||
```
|
```
|
||||||
|
|
||||||
> Совет: Несмотря на то, что HTMLPurifier отлично справляется с тем, чтобы сделать вывод безопасным, работает он довольно медленно. Если от приложения требуется высокая производительность, рассмотрите возможность [кэширования](caching-overview.md) отфитрованного результата
|
> Совет: Несмотря на то, что HTMLPurifier отлично справляется с тем, чтобы сделать вывод безопасным, работает он довольно медленно. Если от приложения требуется высокая производительность, рассмотрите возможность [кэширования](caching-overview.md) отфильтрованного результата
|
||||||
|
|
||||||
|
|
||||||
### Организация видов <span id="organizing-views"></span>
|
### Организация видов <span id="organizing-views"></span>
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
php /path/to/yii-application/init
|
php /path/to/yii-application/init
|
||||||
```
|
```
|
||||||
|
|
||||||
Для производственных серверов удобно выполнять данную команду в неинтерактивном режиме.
|
Для производственных серверов удобно выполнять данную команду в не интерактивном режиме.
|
||||||
|
|
||||||
```
|
```
|
||||||
php /path/to/yii-application/init --env=Production overwrite=All
|
php /path/to/yii-application/init --env=Production overwrite=All
|
||||||
@ -86,7 +86,7 @@
|
|||||||
- `@backend` - директория веб-приложения backend.
|
- `@backend` - директория веб-приложения backend.
|
||||||
- `@console` - директория console.
|
- `@console` - директория console.
|
||||||
- `@runtime` - директория runtime исполняемого приложения.
|
- `@runtime` - директория runtime исполняемого приложения.
|
||||||
- `@vendor` - директория vendor, содержащая пакеты загруженые Composer'ом.
|
- `@vendor` - директория vendor, содержащая пакеты загруженные Composer'ом.
|
||||||
- `@bower` - директория vendor, содержащая [пакеты bower](http://bower.io/).
|
- `@bower` - директория vendor, содержащая [пакеты bower](http://bower.io/).
|
||||||
- `@npm` - директория vendor, содержащая [пакеты npm](https://www.npmjs.org/).
|
- `@npm` - директория vendor, содержащая [пакеты npm](https://www.npmjs.org/).
|
||||||
- `@web` - базовый URL исполняемого веб-приложения.
|
- `@web` - базовый URL исполняемого веб-приложения.
|
||||||
@ -98,7 +98,7 @@
|
|||||||
Приложения
|
Приложения
|
||||||
----------
|
----------
|
||||||
|
|
||||||
В шаблоне advanced три приложения: frontend, backend и console. Frontend это та часть приложения, которае обеспечивает
|
В шаблоне advanced три приложения: frontend, backend и console. Frontend это та часть приложения, которая обеспечивает
|
||||||
взаимодействие системы с конечным пользователем проекта. Backend это административная панель, аналитика и прочая подобная
|
взаимодействие системы с конечным пользователем проекта. Backend это административная панель, аналитика и прочая подобная
|
||||||
функциональность. Console обычно используется для выполнения заданий по расписанию через cron, низкоуровневого
|
функциональность. Console обычно используется для выполнения заданий по расписанию через cron, низкоуровневого
|
||||||
управления сервером, при развёртывании приложения, работы с миграциями и ресурсами.
|
управления сервером, при развёртывании приложения, работы с миграциями и ресурсами.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Консольное приложение
|
Консольное приложение
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Кроме богатых возможностей для построеня веб приложений, Yii также имеет полноценную поддержку консольных приложений,
|
Кроме богатых возможностей для построения веб приложений, Yii также имеет полноценную поддержку консольных приложений,
|
||||||
которые обычно используются для создания фоновых и служебных задач, поддерживающих сайт.
|
которые обычно используются для создания фоновых и служебных задач, поддерживающих сайт.
|
||||||
|
|
||||||
Структура консольных приложений очень похожа на структуру веб приложения. Она состоит из одного и более классов
|
Структура консольных приложений очень похожа на структуру веб приложения. Она состоит из одного и более классов
|
||||||
@ -49,7 +49,7 @@ yii <route> [--option1=value1 --option2=value2 ... argument1 argument2 ...]
|
|||||||
yii migrate/up 5 --migrationTable=migrations
|
yii migrate/up 5 --migrationTable=migrations
|
||||||
```
|
```
|
||||||
|
|
||||||
> **Примечание**: При использовании в консоли `*`, не забудте поместить её в кавычки `"*"` чтобы избежать её интерпретации
|
> **Примечание**: При использовании в консоли `*`, не забудьте поместить её в кавычки `"*"` чтобы избежать её интерпретации
|
||||||
> и замены на все имена файлов в данной директории.
|
> и замены на все имена файлов в данной директории.
|
||||||
|
|
||||||
|
|
||||||
@ -110,10 +110,10 @@ exit($exitCode);
|
|||||||
> ```
|
> ```
|
||||||
|
|
||||||
|
|
||||||
Создание ваших собственных комманд <span id="create-command"></span>
|
Создание ваших собственных команд <span id="create-command"></span>
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
### Консолный контроллер и действие
|
### Консольный контроллер и действие
|
||||||
|
|
||||||
Консольная команда определяется как класс контроллера расширяющий [[yii\console\Controller]]. В классе контроллера,
|
Консольная команда определяется как класс контроллера расширяющий [[yii\console\Controller]]. В классе контроллера,
|
||||||
вы определяете одно или несколько действий, которые соответствуют суб-командам контроллера. В каждом действии
|
вы определяете одно или несколько действий, которые соответствуют суб-командам контроллера. В каждом действии
|
||||||
@ -128,18 +128,18 @@ exit($exitCode);
|
|||||||
|
|
||||||
Для переопределения [[yii\console\Controller::options()]] метода, вы можете указать опции, которые доступны в консольной
|
Для переопределения [[yii\console\Controller::options()]] метода, вы можете указать опции, которые доступны в консольной
|
||||||
команде (controller/actionID). Метод должен возвращать список публичных атрибутов класса. При запуске команды вы
|
команде (controller/actionID). Метод должен возвращать список публичных атрибутов класса. При запуске команды вы
|
||||||
можете указать значение опций, используя синтаксис `--OptionName=OptionValue`. Это свяжет `OptionValue` с аттрибутом
|
можете указать значение опций, используя синтаксис `--OptionName=OptionValue`. Это свяжет `OptionValue` с атрибутом
|
||||||
`OptionName` класса контроллера.
|
`OptionName` класса контроллера.
|
||||||
|
|
||||||
Если значение по умолчанию опции - это массив, то при установке этой опции, при выполнении команды, значение бедет
|
Если значение по умолчанию опции - это массив, то при установке этой опции, при выполнении команды, значение будет
|
||||||
преобразовано в массив путём разделения входящей строки по запятым.
|
преобразовано в массив путём разделения входящей строки по запятым.
|
||||||
|
|
||||||
### Аргументы
|
### Аргументы
|
||||||
|
|
||||||
Кроме опций, команда может получать аргументы. Аргументы будут переданы в качестве параметров в метод действия,
|
Кроме опций, команда может получать аргументы. Аргументы будут переданы в качестве параметров в метод действия,
|
||||||
соответствующего запрошеной суб-команде. Первый аргумент соответствует первому параметру, второй соответственно второму,
|
соответствующего запрошенной суб-команде. Первый аргумент соответствует первому параметру, второй соответственно второму,
|
||||||
и так далее. Если переданных аргументов при вызове команды будет недостаточно, то параметрам будут назначены по
|
и так далее. Если переданных аргументов при вызове команды будет недостаточно, то параметрам будут назначены по
|
||||||
умолчанию, если они определены. Если значения по умолчанию не определены, и не былы переданы, команда завершит
|
умолчанию, если они определены. Если значения по умолчанию не определены, и не были переданы, команда завершит
|
||||||
выполнение с ошибкой.
|
выполнение с ошибкой.
|
||||||
|
|
||||||
Вы можете использовать указание типа `array`, чтобы указать что аргумент должен рассматриваться как массив. Массив
|
Вы можете использовать указание типа `array`, чтобы указать что аргумент должен рассматриваться как массив. Массив
|
||||||
@ -172,7 +172,7 @@ class ExampleController extends \yii\console\Controller
|
|||||||
Для примера `1` может указывать на неизвестную ошибку, а все коды выше могут быть зарезервированы под специфичные
|
Для примера `1` может указывать на неизвестную ошибку, а все коды выше могут быть зарезервированы под специфичные
|
||||||
ошибки: ошибки ввода, повреждённые файлы, и что-то другое.
|
ошибки: ошибки ввода, повреждённые файлы, и что-то другое.
|
||||||
|
|
||||||
Для того, чтобы ваша консольная команда возвращала код возврата, прочто верните целое число в методе действия контроллера:
|
Для того, чтобы ваша консольная команда возвращала код возврата, просто верните целое число в методе действия контроллера:
|
||||||
|
|
||||||
```php
|
```php
|
||||||
public function actionIndex()
|
public function actionIndex()
|
||||||
@ -195,7 +195,7 @@ public function actionIndex()
|
|||||||
|
|
||||||
### Форматирование и цвета
|
### Форматирование и цвета
|
||||||
|
|
||||||
Консоль Yii поддерживает форматирование вывода, который автоматически деградирует до неформатированного, если это поддерживается
|
Консоль Yii поддерживает форматирование вывода, который автоматически деградирует до не форматированного, если это поддерживается
|
||||||
в терминале где запускается команда.
|
в терминале где запускается команда.
|
||||||
|
|
||||||
Вывод форматированных строк прост. Вот как можно вывести некоторый жирный текст:
|
Вывод форматированных строк прост. Вот как можно вывести некоторый жирный текст:
|
||||||
|
@ -313,7 +313,7 @@ function foo($model, $attribute) {
|
|||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
Этот валидатор проверяет, что вхоящее значение соответствует одному из значений, указанных в `range`.
|
Этот валидатор проверяет, что входящее значение соответствует одному из значений, указанных в `range`.
|
||||||
|
|
||||||
- `range`: список значений, с которыми будет сравниваться входящее значение.
|
- `range`: список значений, с которыми будет сравниваться входящее значение.
|
||||||
- `strict`: должно ли сравнение входящего значения со списком значений быть строгим (учитывать тип данных).
|
- `strict`: должно ли сравнение входящего значения со списком значений быть строгим (учитывать тип данных).
|
||||||
|
@ -447,7 +447,7 @@ Yii поставляется с набором сообщений по умол
|
|||||||
когда источник не содержит искомой строки. Для этого следует использовать обработку события
|
когда источник не содержит искомой строки. Для этого следует использовать обработку события
|
||||||
[[yii\i18n\MessageSource::EVENT_MISSING_TRANSLATION|missingTranslation]] компонента [[yii\i18n\MessageSource]].
|
[[yii\i18n\MessageSource::EVENT_MISSING_TRANSLATION|missingTranslation]] компонента [[yii\i18n\MessageSource]].
|
||||||
|
|
||||||
Например, чтобы отметить все непереведённые строки, чтобы их было легче находить на странице, необходимо
|
Например, чтобы отметить все не переведённые строки, чтобы их было легче находить на странице, необходимо
|
||||||
создать обработчик события. Изменим конфигурацию приложения:
|
создать обработчик события. Изменим конфигурацию приложения:
|
||||||
|
|
||||||
```php
|
```php
|
||||||
|
Reference in New Issue
Block a user