PHP设计模式有哪些,你都知道多少?
发布时间:2021-12-23 16:53:40 所属栏目:PHP教程 来源:互联网
导读:PHP设计模式有哪些?很多PHP新手可能对于PHP设计模式还不太了解,因此这篇文章就主要给大家介绍一下PHP设计模式,包括对单例模式、工厂模式、注册模式、适配器模式、策略模式、原型模式和观察者模式这七种模式的介绍,有需要的朋友可以看一下。 1、单例模式
PHP设计模式有哪些?很多PHP新手可能对于PHP设计模式还不太了解,因此这篇文章就主要给大家介绍一下PHP设计模式,包括对单例模式、工厂模式、注册模式、适配器模式、策略模式、原型模式和观察者模式这七种模式的介绍,有需要的朋友可以看一下。 1、单例模式 一个类,只能允许有一个对象存在 <?php class test{ protected function __construct(){ } public static function getInstance(){ $_test = new test(); return $_test; } } $test = test::getInstance(); var_dump($test); ?> 2、工厂模式 工厂模式,顾名思义,如同工厂一样,你把原材料放入工厂中,出来的是成品,而你并不需要知道工厂里做了什么,工厂模式主要用于解耦。 把对象的创建和使用的过程分开,比如: ClassA 调用 ClassB,那么 ClassA 只调用ClassB 的方法,至于实例化 ClassB 则在工厂内实现。这样既减少了代码的重复使用,也方便对 ClassB 的后期维护。如果 ClassB 实例化过程很复杂,使用简单工厂模式就会发现外部无需关注复杂的实例化,只管调用 ClassB 的方法即可,减少错误。 interface mysql{ public function connect(); } class mysqli2 implements mysql{ public function connect(){ echo 'mysqli'; } } class pdo2 implements mysql{ public function connect(){ echo 'pdo'; } } class mysqlFactory{ static public function factory($class_name){ return new $class_name(); } } $obj = mysqlFactory::factory('pdo2'); $obj->connect(); 3、注册模式 注册模式,解决全局共享和交换对象。已经创建好的对象,挂在到某个全局可以使用的数组上,在需要使用的时候,直接从该数组上获取即可。将对象注册到全局的树上。任何地方直接去访问。 <?php class Register { protected static $objects; function set($alias,$object)//将对象注册到全局的树上 { self::$objects[$alias]=$object;//将对象放到树上 } static function get($name){ return self::$objects[$name];//获取某个注册到树上的对象 } function _unset($alias) { unset(self::$objects[$alias]);//移除某个注册到树上的对象。 } } (编辑:常州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |