手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2012年04月18日的文章

网站PR继续下降

不知道为什么,网站自从移到东京节点后,PR值一降再降。
或许,这也是一种激励,准备乘这个机会,将网站改版一次。
原来的内容也有点杂,我是不是该好好处理一下?去芜存精?不清楚,反正心是乱了。

Yii Behavior的简单用法

Yii的behavior用起来是十分方便的,官方的文档也很多,我不多嘴一一解释,我只说一些简单的用法
如果你看过PHP5.4,你应该知道5.4多了个新功能traits。
那你可以对着手册看了,你就当yii的behavior就是5.4的traits。

在任何基于CComponents类扩展的类里,都可以用attachBehavior来附加一个行为,这就象5.4的在类里面 use traits类一样
附加行为后,直接可以$this->行为中的方法,嗯,这个与traits也一样。
好吧,来个简单的例子:

PHP traits
  1. <?php  
  2. class Base {  
  3.     public function sayHello() {  
  4.         echo 'Hello ';  
  5.     }  
  6. }  
  7.   
  8. trait SayWorld {  
  9.     public function sayHello() {  
  10.         parent::sayHello();  
  11.         echo 'World!';  
  12.     }  
  13. }  
  14.   
  15. class MyHelloWorld extends Base {  
  16.     use SayWorld;  
  17. }  
  18.   
  19. $o = new MyHelloWorld();  
  20. $o->sayHello();  
  21. ?>  

Yii的用法:

PHP代码
  1. <?php  
  2. class xxx extends CBehavior  
  3. {  
  4.     public function show(){  
  5.         echo "show";  
  6.     }  
  7. }  
  8.   
  9. class test extends CComponents  
  10. {  
  11.     public function hello(){  
  12.         $this->attachBehavior('唯一标记符',"xxx");  
  13.         $this->show();  
  14.     }  
  15. }  

看看,是不是用法一样?不过这样也带来一个问题。。。TMD,没法在IDE里面自动识别了。

好吧,只能这样折腾自己了。。忍忍。

Tags: yii, behavior