-
【PHP】【面向对象编程的基本原则】查看全部
-
基本原则查看全部
-
代理模式查看全部
-
传统方式查看全部
-
面向对象的基本原则: 1,单一职责:一个类,只需要做好一件事情。 2,开放封闭:一个类,应该是可扩展的,而不可修改的。 3,依赖倒置:一个类,不应该强依赖另外一个类。每个类对于另外一个类都是可扩展的。(依赖注入) 4,配置化:尽可能地使用配置,而不是硬编码 5,面向接口编程:只需要关心接口,而不需要关心代码具体实现查看全部
-
MVC结构查看全部
-
面向对象的基本原则: 1,单一职责:一个类,只需要做好一件事情。 2,开放封闭:一个类,应该是可扩展的,而不可修改的。 3,依赖倒置:一个类,不应该强依赖另外一个类。每个类对于另外一个类都是可扩展的。(依赖注入) 4,配置化:尽可能地使用配置,而不是硬编码 5,面向接口编程:只需要关心接口,而不需要关心代码具体实现查看全部
-
1、适配器模式,可以将截然不同的函数接口封闭成统一的API 2、实际应用,PHP的数据库操作有mysql,mysqli,pdo ,可以用适配器模式统一成一致。类似的还有cache适配器,将memcache,redis,file,apc等不同的缓存函数统一成一致。查看全部
-
特点: 1、要声明一个保护变量 如 protected $db; 2、将构造方法改了私有方法来防止进行实例化 如:private funtion __construct(){} 3、声明一个静态方法getInstance()来进行实例化。如 static function getInstance(){} 实例: class Database { //1、声明保护或私有变量 protected $db; //2 构造方法私有化 private function __construct(){} //3、静态方法 static function getInstance() { if(!self::$db) { self::$db=new self(); } return self::$db; } } //工厂+单例模式 class Factory { static function creatDatabase() { //如果不是单例模式这么写 //return new Database(); //用单例模式用以下方式写 return Database::getInstans(); } } //以下三种使用情况 //普通使用直接使用new一个对象 //$db=new Database(); //使用单例模式 //$db=Database::getInstance(); //使用工厂模式就是通过使用工厂的静态方法来实现对象的实例化,替代new的实例化方法 $db=Factory::creatDatabase();查看全部
-
3种基本的设计模式: 1、工厂模式:工厂方法或者类生成对象,而不是在代码中直接new 2、单例模式:使某个类的对象公允许创建一个 3、注册模式:全局共享和交换对像查看全部
-
【PHP】【策咯模式的控制反转】查看全部
-
PSR-0 规范 1. 命名空间与绝对路径一致 2. 类名首字母大写 3. 除入口外,其他文件里只有一个类查看全部
-
spl_autoload_register(); //允许多个,不冲突 function __autoload($class){ require __DIR__.'/'.$class.'.php'; }查看全部
-
工厂模式,可以在一个地方new 对象,如果该对象经过修改那工厂处改一处代码就行了查看全部
-
<?php namespace IMooc; class Object{ protected $array = array(); function __set($key, $value) { var_dump(__METHOD__); $this->array[$key] = $value; } function __get($key) { var_dump(__METHOD__); return $this->array[$key]; } function __call($func, $params) { var_dump(__METHOD__); var_dump($func, $params); return 'call back'; } function __callStatic($func, $params) { var_dump(__METHOD__); var_dump($func, $params); return 'callstatic back'; } function __toString(){ return __CLASS__; } function __invoke($params) { var_dump($params); return 'invoke'; } }查看全部
举报
0/150
提交
取消