Commit d9dd0e90 by Egor Verbitsky

Corrected some errors in russian translation of concept-behaviors.md

parent 630d5b96
...@@ -6,28 +6,28 @@ ...@@ -6,28 +6,28 @@
функциональность существующих [[yii\base\Component|компонентов]] без необходимости их изменения. функциональность существующих [[yii\base\Component|компонентов]] без необходимости их изменения.
После прикрепления поведения к компоненту, его методы и свойства "внедряются" в компонент, и становятся доступными После прикрепления поведения к компоненту, его методы и свойства "внедряются" в компонент, и становятся доступными
так же, как если бы они были объявлены в самом классе компонента. Кроме того, поведение может реагировать на так же, как если бы они были объявлены в самом классе компонента. Кроме того, поведение может реагировать на
[события](concept-events.md), создаваемые компонентом, что позволяет тонко настраивать или *adapt the normal code [события](concept-events.md), создаваемые компонентом, что позволяет тонко настраивать или модифицировать
execution of the component.* обычное выполнение кода компонента.
Использование Поведений <a name="using-behaviors"></a> Использование Поведений <a name="using-behaviors"></a>
--------------- ---------------
Для использования поведения, его необходимо прикрепить к [[yii\base\Component|компоненту]]. Подробнее о том, как Для использования поведения, его необходимо прикрепить к [[yii\base\Component|компоненту]]. Подробнее о том, как
прикрепить поведение к компоненту, описано в следующем разделе. это сделать, описано в следующем разделе.
После того, как поведение прикреплено к компоненту, его использование не вызывает сложностей. После того, как поведение прикреплено к компоненту, его использование не вызывает сложностей.
Вы можете обращаться к публичным переменным или [свойствам](concept-properties.md), объявленным с использованием Вы можете обращаться к *публичным* переменным или [свойствам](concept-properties.md), объявленным с использованием
геттеров и сеттеров в поведении, через компонент, к которому оно прикреплено, как показано ниже, геттеров и сеттеров в поведении, через компонент, к которому оно прикреплено, как показано ниже,
```php ```php
// публичныое свойство "prop1" объявленное в классе поведения // публичное свойство "prop1" объявленное в классе поведения
echo $component->prop1; echo $component->prop1;
$component->prop1 = $value; $component->prop1 = $value;
``` ```
Аналогично, вы можете вызывать публичные методы поведения, Аналогично, вы можете вызывать *публичные* методы поведения,
```php ```php
// публичный метод bar() объявленный в классе поведения // публичный метод bar() объявленный в классе поведения
...@@ -47,7 +47,7 @@ $component->bar(); ...@@ -47,7 +47,7 @@ $component->bar();
$behavior = $component->getBehavior('myBehavior'); $behavior = $component->getBehavior('myBehavior');
``` ```
Так же, можно получить все поведения, прикрепленные к компоненту: Также можно получить все поведения, прикрепленные к компоненту:
```php ```php
...@@ -59,7 +59,7 @@ $behaviors = $component->getBehaviors(); ...@@ -59,7 +59,7 @@ $behaviors = $component->getBehaviors();
------------------- -------------------
Прикрепить поведение к [[yii\base\Component|компоненту]] можно статически (statically) или динамически (dynamically). Прикрепить поведение к [[yii\base\Component|компоненту]] можно статически (statically) или динамически (dynamically).
На практике, чаще используется статическое привязывание. На практике, чаще используется статическое прикрепление.
Для того чтобы прикрепить поведение статически, необходимо переопределить метод Для того чтобы прикрепить поведение статически, необходимо переопределить метод
[[yii\base\Component::behaviors()|behaviors()]] класса компонента. Например, [[yii\base\Component::behaviors()|behaviors()]] класса компонента. Например,
...@@ -139,8 +139,7 @@ $component->attachBehaviors([ ...@@ -139,8 +139,7 @@ $component->attachBehaviors([
``` ```
Так же, прикрепить поведение к компоненту можно через [конфигурацию](concept-configurations.md), как показано ниже. Так же, прикрепить поведение к компоненту можно через [конфигурацию](concept-configurations.md), как показано ниже.
Для более подробной информации, пожалуйста, ознакомьтесь с разделом Более детальная информация приведена в разделе [Конфигурации](concept-configurations.md#configuration-format).
[Конфигурации](concept-configurations.md#configuration-format).
```php ```php
[ [
...@@ -155,7 +154,7 @@ $component->attachBehaviors([ ...@@ -155,7 +154,7 @@ $component->attachBehaviors([
``` ```
Деактивация Поведений<a name="detaching-behaviors"></a> Отвязывание Поведений<a name="detaching-behaviors"></a>
------------------- -------------------
Чтобы отвязать (detach) поведение, необходимо вызвать метод [[yii\base\Component::detachBehavior()]], указав имя, Чтобы отвязать (detach) поведение, необходимо вызвать метод [[yii\base\Component::detachBehavior()]], указав имя,
...@@ -214,7 +213,7 @@ class MyBehavior extends Behavior ...@@ -214,7 +213,7 @@ class MyBehavior extends Behavior
Внутри поведения возможно обращаться к свойствам компонента, к которому оно прикреплено, используя свойство Внутри поведения возможно обращаться к свойствам компонента, к которому оно прикреплено, используя свойство
[[yii\base\Behavior::owner]]. [[yii\base\Behavior::owner]].
Если поведению требуется реагировать на события компонента, к которому оно привязано, то необходимо переопределить Если поведению требуется реагировать на события компонента, к которому оно прикреплено, то необходимо переопределить
метод [[yii\base\Behavior::events()]]. Например, метод [[yii\base\Behavior::events()]]. Например,
```php ```php
...@@ -240,6 +239,7 @@ class MyBehavior extends Behavior ...@@ -240,6 +239,7 @@ class MyBehavior extends Behavior
} }
} }
``` ```
Метод [[yii\base\Behavior::events()|events()]] должен возвращать список событий и соответствующих им обработчиков. Метод [[yii\base\Behavior::events()|events()]] должен возвращать список событий и соответствующих им обработчиков.
В приведенном выше примере, объявлено событие [[yii\db\ActiveRecord::EVENT_BEFORE_VALIDATE|EVENT_BEFORE_VALIDATE]] В приведенном выше примере, объявлено событие [[yii\db\ActiveRecord::EVENT_BEFORE_VALIDATE|EVENT_BEFORE_VALIDATE]]
и его обработчик `beforeValidate()`. Указать обработчик события, можно одним из следующих способов: и его обработчик `beforeValidate()`. Указать обработчик события, можно одним из следующих способов:
...@@ -248,8 +248,8 @@ class MyBehavior extends Behavior ...@@ -248,8 +248,8 @@ class MyBehavior extends Behavior
* массив, содержащий объект или имя класса, и имя метода, например, `[$object, 'methodName']`; * массив, содержащий объект или имя класса, и имя метода, например, `[$object, 'methodName']`;
* анонимная функция. * анонимная функция.
*The signature of an event handler should be as follows, where `$event` refers to the event parameter. * Сигнатура (signature) функции обработчика события должна выглядеть как показано ниже, где `$event` содержит параметр
Для более подробной информации, пожалуйста, ознакомьтесь с разделом [События](concept-events.md). события. Более детальная информация приведена в разделе [События](concept-events.md).
```php ```php
function ($event) { function ($event) {
...@@ -297,8 +297,8 @@ class User extends ActiveRecord ...@@ -297,8 +297,8 @@ class User extends ActiveRecord
* когда будет обновлена существующая запись (update), поведение должно присвоить текущую метку времени атрибуту * когда будет обновлена существующая запись (update), поведение должно присвоить текущую метку времени атрибуту
`updated_at`. `updated_at`.
Теперь, если сохранить объект `User`, то в его атрибуты `created_at` и `updated_at` автоматически примут значения Теперь, если сохранить объект `User`, то в его атрибуты `created_at` и `updated_at` будут автоматически установлены
метки времени на момент сохранения записи: значения метки времени на момент сохранения записи:
```php ```php
$user = new User; $user = new User;
...@@ -326,8 +326,8 @@ $user->touch('login_time'); ...@@ -326,8 +326,8 @@ $user->touch('login_time');
### Плюсы Поведений <a name="pros-for-behaviors"></a> ### Плюсы Поведений <a name="pros-for-behaviors"></a>
Поведения, как и любые другие классы, поддерживают наследование. *Traits, on the other hand, Поведения, как и любые другие классы, поддерживают наследование. Трейты можно рассматривать как копипейст
can be considered as language-supported copy and paste.* Они не поддерживают наследование. на уровне языка. Они не поддерживают наследование.
Поведения могут быть прикреплены и отвязаны от компонента динамически, без необходимости модифицирования класса Поведения могут быть прикреплены и отвязаны от компонента динамически, без необходимости модифицирования класса
компонента. Для использование Трейтов необходимо модифицировать класс. компонента. Для использование Трейтов необходимо модифицировать класс.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment