最近在学习Yii2,这里记录一下学习yii2的事件,一个简单的事件实例:
包括了一个对象、一个静态对象、一个匿名函数。
app\controllers\siteController
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
/**
* 事件处理
*/
public
function
actionEvent(){
echo
'这是事件处理<br/>'
;
$person
=
new
Person();
$this
->on(
'SayHello'
, [
$person
,
'say_hello'
],
'你好,朋友'
);
$this
->on(
'SayGoodBye'
, [
'app\models\Person'
,
'say_goodbye'
],
'再见了,我的朋友'
);
$this
->on(
'GoodNight'
,
function
(){
echo
'晚安!'
;
});
$this
->trigger(
'SayHello'
);
$this
->trigger(
'SayGoodBye'
);
$this
->trigger(
'GoodNight'
);
}
|
app\models\Person.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php
namespace
app\models;
use
yii\base\Model;
class
Person
extends
Model{
public
function
say_hello(
$parm
){
echo
"你应该会看到:"
.
$parm
->data.
'<br>'
;
}
public
function
say_goodbye(
$parm
){
echo
"你应该会看到:"
.
$parm
->data.
'<br>'
;
}
}
|
最后输出结果为:
1
2
3
4
|
这是事件处理
你应该会看到:你好,朋友
你应该会看到:再见了,我的朋友
晚安!
|