本文实例讲述了php容器类的两种实现方式。分享给大家供大家参考,具体如下:
通过魔术方法实现
class
class magiccontainer{ private $ele; function __construct() { $this->ele = []; } function __t($name, $valu逍遥游教案e) { $this->ele[$name] = $value; } function __get($name) { return $this->ele[$name]; } function __ist($name) { return ist($this->ele[$name]); } function __unt($name) { if(ist($this->ele[$name])){ unt($this->ele[$name]); } }}
usage
$container = new magiccontainer();$container->logger = function ($msg){ file_put_contents('info.log',$msg.php_eol,file_append);};$logger = $container->logger;$logger('magic container works');
通过arrayaccess接口实现
class
class arraycontainer implements arrayaccess { private $elements; public function __construct() { $this->elemen一本大学分数线ts = []; } public function offtexists($offt){ return ist($this->elements[$offt]); } public function offtget($offt){ if($this->offtexists($2018年高考时间offt)){ return $this->elements[$offt]; }el{ return fal; } } public function offtt($offt, $value){ $this->elements[$offt] = $value; } public function offtunt($offt){ if($this->offtexists($offt)){ unt($this->elements[$offt]); } }}
usage
$container = new arraycontainer();$container['logger'] = function ($msg){ file_put_contents('info.log',$msg.php_eol,file_append);};$logger = $container['logger'];$logger('array container works');
container
class
class container implements arrayaccess { private $elements; public function __construct() { $this->elements = []; } public function offtexists($offt){ return ist($this->elements[$offt]); } public function offtget($offt){ if($this->offtexists($offt)){ return $this->elements[$offt]; }el{ return fal; } } public function offtt($offt, $value){ $this->elements[$offt] = $value; } public function offtunt($offt){ if($this->offtexists($offt)){ unt($this->elements[$offt]); } } function __t($name, $value) { $this->elements[$name] = $value; } function __get($name) { return $this->elemen党员组织生活会个人发言材料ts[$name]; } function __ist($name) { return ist($this->elements[$name]); } function __unt($name) { if(ist($this->elements[$name])){ unt砂纸画($this->elements[$name]); } }}
usage
$container = new container();$container['logger'] = function ($msg){ file_put_contents('info.log',$msg.php_eol,file_append);};$logger = $container->logger;$logger('container works');
本文发布于:2023-04-07 14:25:24,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1c078bd7830fba63f144eeb9a9a35a59.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:PHP容器类的两种实现方式示例.doc
本文 PDF 下载地址:PHP容器类的两种实现方式示例.pdf
留言与评论(共有 0 条评论) |