关于PHP设计模式之:注册模式入门教程
发布时间:2023-09-16 14:40:33 所属栏目:PHP教程 来源:
导读:下面小编来为各位介绍一篇关于PHP设计模式之:注册模式入门教程,希望本文章能够帮助到各位朋友。
当你有一组全局对象被全局访问时可能就需要用到注册模式 (registry),它提供了在程序中有条理的存放并管理对象 (
当你有一组全局对象被全局访问时可能就需要用到注册模式 (registry),它提供了在程序中有条理的存放并管理对象 (
下面小编来为各位介绍一篇关于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"); ?> (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐