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
e1faa8fa
Commit
e1faa8fa
authored
Oct 17, 2014
by
东方孤思子(Paris·QianSen)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update old tutorials.
parent
d5dab7da
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
11 additions
and
11 deletions
+11
-11
concept-behaviors.md
docs/guide-zh-CN/concept-behaviors.md
+4
-5
concept-configurations.md
docs/guide-zh-CN/concept-configurations.md
+4
-3
concept-events.md
docs/guide-zh-CN/concept-events.md
+2
-2
concept-properties.md
docs/guide-zh-CN/concept-properties.md
+1
-1
No files found.
docs/guide-zh-CN/concept-behaviors.md
View file @
e1faa8fa
...
@@ -12,7 +12,6 @@
...
@@ -12,7 +12,6 @@
```
php
```
php
namespace
app\components
;
namespace
app\components
;
use
yii\base\Model
;
use
yii\base\Behavior
;
use
yii\base\Behavior
;
class
MyBehavior
extends
Behavior
class
MyBehavior
extends
Behavior
...
@@ -188,14 +187,14 @@ echo $component->prop1;
...
@@ -188,14 +187,14 @@ echo $component->prop1;
$component
->
prop1
=
$value
;
$component
->
prop1
=
$value
;
```
```
类似地也可以调用行为的
**
公共
*
方法:
类似地也可以调用行为的
**公共*
*
方法:
```
php
```
php
//
bar
() 是定义在行为类的公共方法
//
foo
() 是定义在行为类的公共方法
$component
->
bar
();
$component
->
foo
();
```
```
如你所见,尽管
`$component`
未定义
`prop1`
和
`
bar
()`
,它们用起来也像组件自己定义的一样。
如你所见,尽管
`$component`
未定义
`prop1`
和
`
foo
()`
,它们用起来也像组件自己定义的一样。
如果两个行为都定义了一样的属性或方法,并且它们都附加到同一个组件,那么
**首先**
附加上的行为在属性或方法被访问时有优先权。
如果两个行为都定义了一样的属性或方法,并且它们都附加到同一个组件,那么
**首先**
附加上的行为在属性或方法被访问时有优先权。
...
...
docs/guide-zh-CN/concept-configurations.md
View file @
e1faa8fa
...
@@ -17,7 +17,7 @@ $config = [
...
@@ -17,7 +17,7 @@ $config = [
$db
=
Yii
::
createObject
(
$config
);
$db
=
Yii
::
createObject
(
$config
);
```
```
[
[Yii::createObject()
]
] 方法接受一个配置
并根据配置
中指定的类名创建对象。对象实例化后,剩余的参数被用来初始化对象的属性,事件处理和行为。
[
[Yii::createObject()
]
] 方法接受一个配置
数组并根据数组
中指定的类名创建对象。对象实例化后,剩余的参数被用来初始化对象的属性,事件处理和行为。
对于已存在的对象,可以使用
[
[Yii::configure()
]
] 方法根据配置去初始化其属性,就像这样:
对于已存在的对象,可以使用
[
[Yii::configure()
]
] 方法根据配置去初始化其属性,就像这样:
...
@@ -46,7 +46,8 @@ Yii::configure($object, $config);
...
@@ -46,7 +46,8 @@ Yii::configure($object, $config);
*
`class`
元素指定了将要创建的对象的完全限定类名。
*
`class`
元素指定了将要创建的对象的完全限定类名。
*
`propertyName`
元素指定了对象属性的初始值。键名是属性名,值是该属性对应的初始值。只有公共成员变量以及通过 getter/setter 定义的
[
属性
](
concept-properties.md
)
可以被配置。
*
`propertyName`
元素指定了对象属性的初始值。键名是属性名,值是该属性对应的初始值。只有公共成员变量以及通过 getter/setter 定义的
[
属性
](
concept-properties.md
)
可以被配置。
*
`on eventName`
元素指定了附加到对象
[
事件
](
concept-events.md
)
上的句柄是什么。请注意,数组的键名由
`on `
前缀加事件名组成。请参考
[
事件
](
concept-events.md
)
章节了解事件句柄格式。
*
`on eventName`
元素指定了附加到对象
[
事件
](
concept-events.md
)
上的句柄是什么。请注意,数组的键名由
`on `
前缀加事件名组成。请参考
[
事件
](
concept-events.md
)
章节了解事件句柄格式。
*
`as behaviorName`
元素指定了附加到对象的
[
行为
](
concept-behaviors.md
)
。请注意,数组的键名由
`as `
前缀加行为名组成。
`$behaviorConfig`
表示创建行为的配置信息,格式与我们现在总体叙述的配置格式一样。
*
`as behaviorName`
元素指定了附加到对象的
[
行为
](
concept-behaviors.md
)
。请注意,数组的键名由
`as `
前缀加行为名组成。
`$behaviorConfig`
值表示创建行为的配置信息,格式与我们之前描述的配置格式一样。
下面是一个配置了初始化属性值,事件句柄和行为的示例:
下面是一个配置了初始化属性值,事件句柄和行为的示例:
...
@@ -117,7 +118,7 @@ $config = [
...
@@ -117,7 +118,7 @@ $config = [
### 小部件的配置 <a name="widget-configurations"></a>
### 小部件的配置 <a name="widget-configurations"></a>
使用
[
小部件
](
structure-widgets.md
)
时,常常需要配置以便自定义其属性。
[
[yii\base\Widget::widget()
]
] 和
[
[yii\base\Widget::begin
Widget
()
]
] 方法都可以用来创建小部件。它们可以接受配置数组:
使用
[
小部件
](
structure-widgets.md
)
时,常常需要配置以便自定义其属性。
[
[yii\base\Widget::widget()
]
] 和
[
[yii\base\Widget::begin()
]
] 方法都可以用来创建小部件。它们可以接受配置数组:
```
php
```
php
use
yii\widgets\Menu
;
use
yii\widgets\Menu
;
...
...
docs/guide-zh-CN/concept-events.md
View file @
e1faa8fa
...
@@ -174,7 +174,7 @@ $foo->off(Foo::EVENT_HELLO);
...
@@ -174,7 +174,7 @@ $foo->off(Foo::EVENT_HELLO);
以上部分,我们叙述了在**实例级别**如何附加处理器到事件。有时想要一个类的所有实例而不是一个指定的实例都响应一个被触发的事件,并不是一个个附加事件处理器到每个实例,而是通过调用静态方法 [[yii\base\Event::on()]] 在**类级别**附加处理器。
以上部分,我们叙述了在**实例级别**如何附加处理器到事件。有时想要一个类的所有实例而不是一个指定的实例都响应一个被触发的事件,并不是一个个附加事件处理器到每个实例,而是通过调用静态方法 [[yii\base\Event::on()]] 在**类级别**附加处理器。
例如,[活动记录](db-active-record.md)对象要在每次往数据库新增一条新记录时触发一个 [[yii\
base\ActiveRecord::
EVENT_AFTER_INSERT]] 事件。要追踪每个[活动记录](db-active-record.md)对象的新增记录完成情况,应如下写代码:
例如,[活动记录](db-active-record.md)对象要在每次往数据库新增一条新记录时触发一个 [[yii\
db\BaseActiveRecord::EVENT_AFTER_INSERT|
EVENT_AFTER_INSERT]] 事件。要追踪每个[活动记录](db-active-record.md)对象的新增记录完成情况,应如下写代码:
```php
```php
use Yii;
use Yii;
...
@@ -186,7 +186,7 @@ Event::on(ActiveRecord::className(), ActiveRecord::EVENT_AFTER_INSERT, function
...
@@ -186,7 +186,7 @@ Event::on(ActiveRecord::className(), ActiveRecord::EVENT_AFTER_INSERT, function
});
});
```
```
每当 [[yii\
base\ActiveRecord|ActiveRecord]] 或其子类的实例触发 [[yii\base\
ActiveRecord::EVENT_AFTER_INSERT|EVENT_AFTER_INSERT]] 事件时,这个事件处理器都会执行。在这个处理器中,可以通过 `
$event->sender
` 获取触发事件的对象。
每当 [[yii\
db\BaseActiveRecord|ActiveRecord]] 或其子类的实例触发 [[yii\db\Base
ActiveRecord::EVENT_AFTER_INSERT|EVENT_AFTER_INSERT]] 事件时,这个事件处理器都会执行。在这个处理器中,可以通过 `
$event->sender
` 获取触发事件的对象。
当对象触发事件时,它首先调用实例级别的处理器,然后才会调用类级别处理器。
当对象触发事件时,它首先调用实例级别的处理器,然后才会调用类级别处理器。
...
...
docs/guide-zh-CN/concept-properties.md
View file @
e1faa8fa
属性(Property)
属性(Property)
==========
==========
在 PHP 中,类的成员变量也被称为
**属性(properties)**
。它们是类定义的一部分,用来表现一个实例的状态(也就是区分类的不同实例)。在具体实践中,常常会想用一个稍微特殊些的方法实现属性的读写。例如,
要对
`label`
属性执行 trim 操作,
可以用以下代码实现:
在 PHP 中,类的成员变量也被称为
**属性(properties)**
。它们是类定义的一部分,用来表现一个实例的状态(也就是区分类的不同实例)。在具体实践中,常常会想用一个稍微特殊些的方法实现属性的读写。例如,
如果有需求每次都要对
`label`
属性执行 trim 操作,就
可以用以下代码实现:
```
php
```
php
$object
->
label
=
trim
(
$label
);
$object
->
label
=
trim
(
$label
);
...
...
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