-
__get/__set __call/__callStatic __toString __invoke查看全部
-
splStack() splQueue() SplMinHeap() SplFixedArray()查看全部
-
PSR-0 规范 1. 命名空间与绝对路径一致 2. 类名首字母大写 3. 除入口外,其他文件里只有一个类 符合的基础框架: 1.全部使用命名空间 2.所有PHP文件必须自动载入,不能有include/require 3.单一入口 注:命名空间同目录名一致,类名同文件名一致查看全部
-
spl_autoload_register(); 5.3 以后用这个 __autoload()查看全部
-
用 symbol 去切换类?有意思查看全部
-
策略模式可以实现依赖导致、控制反转。查看全部
-
策略模式实现: 1.定义一个策略接口文件,定义策略接口,声明策略 2.定义具体类,实现策略接口,重写策略方法 实现了硬编码到解耦查看全部
-
策略模式,将一组特定的行为和算法封装成类,以适应特定的上下文环境,这种模式就是策略模式。查看全部
-
适配器模式,可以将截然不同的函数接口封装成统一的API 步骤: 1.声明一个接口,声明几个方法 2.将要同一统一实现的类中重写这几个方法 3.用户在使用时自动选用对应的类方法。查看全部
-
注册器模式:用来将一些对象注册到一个全局的树上,供全局访问 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::$onjects[$alias]); } } $alias表示别名,自己设定 在工厂模式中添加 Register::set('db1',$db); 其他任何地方调用只需要调用注册器读取即可 Register::$objects['db1'];查看全部
-
单例模式:类仅允许生成一次对象 一般会用于数据库类的对象的生成。 1.将类的构造函数声明为private private function __construct(){ } 2.将要生成的对象设定为protected 定义一个静态的getInstance方法 protected $db; static function getInstance(){ if(self::$db){ return self:$db; }else{ self::$db = new self(); return self::$db; } }查看全部
-
单例模式:类仅允许生成一个对象 一般会用于数据库类的对象的生成。 1.将类的构造函数声明为private private function __construct(){ } 2.定义一个静态的getInstance方法 static function getInstance(){ }查看全部
-
工厂模式: 就是在类中封装new方法,然后返回对象。可以在类做了修改后不必一个一个去修改各php文件中的new对象。查看全部
-
PHP的3中基本设计模式 1.工厂模式 ,使用一个工厂方法或类生成对象,而不是在代码中直接使用new 2.单例模式, 是摸个类的对象仅被允许创建一个 3.注册模式, 全局共享和交换对象查看全部
-
魔术方法: __get($key)//调用不存在的类成员时会调用 __set($key,$value)//给不存在的类成员赋值时会调用该方法 __call($func,$param)//调用不存在的类方法时会调用方法 __callStatic($func,$param)//调用不存在的静态成员方法时调用如Test::test() __toString($class)//将对象转化为字符串输出 __invoke($param)//将对象当成函数使用,如$obj = new Object();echo $obj('test');查看全部
举报
0/150
提交
取消