Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
d9dd0e90
Commit
d9dd0e90
authored
Jun 27, 2014
by
Egor Verbitsky
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Corrected some errors in russian translation of concept-behaviors.md
parent
630d5b96
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
18 deletions
+18
-18
concept-behaviors.md
docs/guide-ru/concept-behaviors.md
+18
-18
No files found.
docs/guide-ru/concept-behaviors.md
View file @
d9dd0e90
...
...
@@ -6,28 +6,28 @@
функциональность существующих
[
[yii\base\Component|компонентов
]
] без необходимости их изменения.
После прикрепления поведения к компоненту, его методы и свойства "внедряются" в компонент, и становятся доступными
так же, как если бы они были объявлены в самом классе компонента. Кроме того, поведение может реагировать на
[
события
](
concept-events.md
)
, создаваемые компонентом, что позволяет тонко настраивать или
*
adapt the normal code
execution of the component.
*
[
события
](
concept-events.md
)
, создаваемые компонентом, что позволяет тонко настраивать или
модифицировать
обычное выполнение кода компонента.
Использование Поведений <a name="using-behaviors"></a>
---------------
Для использования поведения, его необходимо прикрепить к
[
[yii\base\Component|компоненту
]
]. Подробнее о том, как
прикрепить поведение к компоненту
, описано в следующем разделе.
это сделать
, описано в следующем разделе.
После того, как поведение прикреплено к компоненту, его использование не вызывает сложностей.
Вы можете обращаться к
публичным
переменным или
[
свойствам
](
concept-properties.md
)
, объявленным с использованием
Вы можете обращаться к
*публичным*
переменным или
[
свойствам
](
concept-properties.md
)
, объявленным с использованием
геттеров и сеттеров в поведении, через компонент, к которому оно прикреплено, как показано ниже,
```
php
// публичн
ы
ое свойство "prop1" объявленное в классе поведения
// публичное свойство "prop1" объявленное в классе поведения
echo
$component
->
prop1
;
$component
->
prop1
=
$value
;
```
Аналогично, вы можете вызывать
публичные
методы поведения,
Аналогично, вы можете вызывать
*публичные*
методы поведения,
```
php
// публичный метод bar() объявленный в классе поведения
...
...
@@ -47,7 +47,7 @@ $component->bar();
$behavior
=
$component
->
getBehavior
(
'myBehavior'
);
```
Так
же,
можно получить все поведения, прикрепленные к компоненту:
Так
же
можно получить все поведения, прикрепленные к компоненту:
```php
...
...
@@ -59,7 +59,7 @@ $behaviors = $component->getBehaviors();
-------------------
Прикрепить поведение к
[
[yii\base\Component|компоненту
]
] можно статически (statically) или динамически (dynamically).
На практике, чаще используется статическое при
вязыва
ние.
На практике, чаще используется статическое при
крепле
ние.
Для того чтобы прикрепить поведение статически, необходимо переопределить метод
[
[yii\base\Component::behaviors()|behaviors()
]
] класса компонента. Например,
...
...
@@ -139,8 +139,7 @@ $component->attachBehaviors([
```
Так же, прикрепить поведение к компоненту можно через
[
конфигурацию
](
concept-configurations.md
)
, как показано ниже.
Для более подробной информации, пожалуйста, ознакомьтесь с разделом
[
Конфигурации
](
concept-configurations.md#configuration-format
)
.
Более детальная информация приведена в разделе
[
Конфигурации
](
concept-configurations.md#configuration-format
)
.
```
php
[
...
...
@@ -155,7 +154,7 @@ $component->attachBehaviors([
```
Деактивация
Поведений<a name="detaching-behaviors"></a>
Отвязывание
Поведений<a name="detaching-behaviors"></a>
-------------------
Чтобы отвязать (detach) поведение, необходимо вызвать метод
[
[yii\base\Component::detachBehavior()
]
], указав имя,
...
...
@@ -214,7 +213,7 @@ class MyBehavior extends Behavior
Внутри поведения возможно обращаться к свойствам компонента, к которому оно прикреплено, используя свойство
[
[yii\base\Behavior::owner
]
].
Если поведению требуется реагировать на события компонента, к которому оно при
вяза
но, то необходимо переопределить
Если поведению требуется реагировать на события компонента, к которому оно при
крепле
но, то необходимо переопределить
метод
[
[yii\base\Behavior::events()
]
]. Например,
```
php
...
...
@@ -240,6 +239,7 @@ class MyBehavior extends Behavior
}
}
```
Метод
[
[yii\base\Behavior::events()|events()
]
] должен возвращать список событий и соответствующих им обработчиков.
В приведенном выше примере, объявлено событие
[
[yii\db\ActiveRecord::EVENT_BEFORE_VALIDATE|EVENT_BEFORE_VALIDATE
]
]
и его обработчик
`beforeValidate()`
. Указать обработчик события, можно одним из следующих способов:
...
...
@@ -248,8 +248,8 @@ class MyBehavior extends Behavior
*
массив, содержащий объект или имя класса, и имя метода, например,
`[$object, 'methodName']`
;
*
анонимная функция.
*The signature of an event handler should be as follows, where `$event` refers to the event parameter. *
Для более подробной информации, пожалуйста, ознакомьтесь с разделом
[
События
](
concept-events.md
)
.
Сигнатура (signature) функции обработчика события должна выглядеть как показано ниже, где
`$event`
содержит параметр
события. Более детальная информация приведена в разделе
[
События
](
concept-events.md
)
.
```
php
function
(
$event
)
{
...
...
@@ -297,8 +297,8 @@ class User extends ActiveRecord
*
когда будет обновлена существующая запись (update), поведение должно присвоить текущую метку времени атрибуту
`updated_at`
.
Теперь, если сохранить объект
`User`
, то в его атрибуты
`created_at`
и
`updated_at`
автоматически примут значения
метки времени на момент сохранения записи:
Теперь, если сохранить объект
`User`
, то в его атрибуты
`created_at`
и
`updated_at`
будут автоматически установлены
значения
метки времени на момент сохранения записи:
```
php
$user
=
new
User
;
...
...
@@ -326,8 +326,8 @@ $user->touch('login_time');
### Плюсы Поведений <a name="pros-for-behaviors"></a>
Поведения, как и любые другие классы, поддерживают наследование.
*
Traits, on the other hand,
can be considered as language-supported copy and paste.
*
Они не поддерживают наследование.
Поведения, как и любые другие классы, поддерживают наследование.
Трейты можно рассматривать как копипейст
на уровне языка.
Они не поддерживают наследование.
Поведения могут быть прикреплены и отвязаны от компонента динамически, без необходимости модифицирования класса
компонента. Для использование Трейтов необходимо модифицировать класс.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment