-
1.适配器模式,可以将截然不同的函数接口封装成统一的API 2.实际应用举例,PHP数据库操作有mysql,mysqli,pdo三种,可以用适配器模式统一成一致。类似场景还有cache适配,将memcache,redis,file,apc等不同的缓存函数,统一成一致查看全部
-
注册器模式:Register.php,用来将一些对象注册到全局的注册树上,可以在任何地方访问。set():将对象隐射到全局树上,_unset():从树上移除。get():去注册到树上的对象 namespace IMooc; class Register{ protected static $objects; static function set($alias,$object){ self::$objects[$alias] = $object; } static function get($name){ return self::$objects[$name]; } function _unset($alias){ unset(self::$objects[$alias]); } } 在工厂模式写下 class Factory{ static function createDatabase(){ $db =Database::getInstance(); Register::set('db1', $db); return $db; } } 在index.php $db = IMooc\Factory::createDatabase(); $db1 = \IMooc\Register::get('db1'); var_dump($db); var_dump($db1);查看全部
-
命名空间: 1.必须在文件的开始处,使用。 2.使用命名空间可以在不同的命名空间下,存在相同名字的函数。 3.使用方式 1.定义命名空间: namespace name;查看全部
-
观察者模式查看全部
-
首先定义一个接口:interface IDatabase(){链接操作,查询执行sql语句,关闭链接} 创建函数类:class xxx implements IDatabase{} (继承接口IDatabase).查看全部
-
对象当成函数去用会回调__invoke()这个魔术方法。查看全部
-
栈:先进后出查看全部
-
堆: insert()数据存到到堆中,提取extracet()查看全部
-
栈数据结构:先进后出 ,入栈push()出栈:pop() 队列:先进先出,后进后出 入队列enqueue(),出队:dequeue()查看全部
-
原型模式,首先创建一个对象原型,通过对其克隆一个新对象,来减少内存开销和避免代码重复量。
$cat_object = new Cat();
$cat_object->setColor("red");
$cat1 = clone $cat_object;
$cat1 = clone $cat_object;
查看全部 -
3种设计模式
查看全部 -
__set($key, $value) 成员属性赋值时,若不存在该成员属性则自动调用
__get($key) 获取成员属性时,若不存在该成员属性则自动调用
__call($func, $patam) 调用方法时,若不存在该方法则自动调用
__callStatic($func, $patam) 调用静态方法时,若不存在该方法则自动调用(此魔术方法也需要声明为静态)
__toString() 当一个类被当成字符串使用时,自动调用
__invoke($param) 当一个类被当成函数使用时,自动调用
查看全部 -
开发符合psr-0规范的基础框架
查看全部 -
装饰器(Decorator),可以动态地添加修改类的功能
一个类提供了一项功能,如果要在修改并添加额外的功能,传统的编程模式,需要写一个子类继承它,并重新实现类的方法
使用装饰器模式,仅需要在运行时添加一个装饰器对象即可实现,可以实现最大的灵活性
查看全部 -
迭代器模式
查看全部
举报
0/150
提交
取消