PHP设计模式之 注册模式入门教程
发布时间:2022-02-23 15:19 所属栏目:121 来源:互联网
导读:下面小编来为各位介绍一篇关于PHP设计模式之:注册模式入门教程,希望本文章能够帮助到各位朋友。 当你有一组全局对象被全局访问时可能就需要用到注册模式 (registry),它提供了在程序中有条理的存放并管理对象 (object)一种解决方案。一个注册模式应该提供g
下面小编来为各位介绍一篇关于PHP设计模式之:注册模式入门教程,希望本文章能够帮助到各位朋友。 当你有一组全局对象被全局访问时可能就需要用到注册模式 (registry),它提供了在程序中有条理的存放并管理对象 (object)一种解决方案。一个“注册模式”应该提供get() 和 set()方法来存储和取得对象。 注册模式通过单一的全局的对象来获取对其它对象的引用 实例: <?php /** * PHP设计模式之注册模式实例 * */ class Registry { protected static $objects; //用于存放对象的数组 /** * 将对象放到对象数组上 * @param string $alias 别名 * @param object $object 对象 */ static function set($alias, $object) { self::$objects[$alias] = $object; } /** * 将对象从数组上删除 * @param string $alias 别名 */ static function _unset($alias) { unset(self::$objects[$alias]); } /** * 通过别名获取对象 * @param string $alias 别名 */ static function get($alias) { if (array_key_exists($alias, self::$objects)) { return self::$objects[$alias]; } } } class MyObject { public function test(){ return 'ok'; } } //结合工厂模式 class MyFactory { public static function factory(){ //返回对象的实例 $myObject = new MyObject(); Registry::set("myObject", $myObject); } } //调用工厂 MyFactory::factory(); //使用 echo Registry::get("myObject")->test(); Registry::_unset("myObject"); ?> 好了,PHP的三种基础模式已经介绍完了,随后博主会继续学习分享PHP的其他设计模式,谢谢! (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读