• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHPbehavior机制简单实现

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
<?php
class Base{
    private $_m = array();
    public function attachBehavior($behaviorObj){
            $behaviorObj->attach($this);
            $this->_m[] = $behaviorObj;
    }

    public function __call($method,$param){
       foreach($this->_m as $obj){
            if(method_exists($obj,$method)){
                 call_user_func(array($obj,$method),$param);
            }
       }
    }
}

class Behavior{
    protected $scope;
    public function attach($scope){
        $this->scope = $scope;
    }
}

class BehaviorTest extends Behavior{

   public function prints($param){
       print_r($this->scope);
   }
}

class TestObj extends Base{
   public function __construct(){
       $this->name = 'test';
       $this->age = 20;
   }
}

$behaviorTestIns = new BehaviorTest();
$baseIns = new TestObj();
$baseIns->attachBehavior($behaviorTestIns);
$baseIns->prints();


?>

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP中$_SERVER全局变量的使用发布时间:2022-07-10
下一篇:
ubuntu使用pecl安装PHPAMQPExtension发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap