摘要:
// 装饰器接口 interface Decorator { function beforeDecorator(); function afterDecorator(); } // 改变颜色的装饰器 class ColorDecorator implements Decorator { function __construct( $color="red" ) {... 阅读全文
摘要:
/** * 观察者模式 观察者监听事件发生者(被观察者) 如果事件发生者发生改变的话要通知所有的观察者 */ class Event extends EventGenerator { /** * eg:用户下单之后->商品库存减1->通知商家有新订单->通知快递小哥有新快递->通知客户订单已经生效 */ function tirgge... 阅读全文
摘要:
/** * 接口类特点:子类必须实现接口类里面所定义的全部方法,用于定义一个类的模板 * 抽象类特点:子类不是必须实现父类里面所定义的全部方法,用于把类里面像的地方“ 抽 ”出来,也就是一些共有的方法可以提出来,至于不一样的地方可以在子类自身的方法里面实现, * 父类里面定义的抽象方法即(abstract function)是子类必须实现的,且访问权限不能小于父类抽象方法的权限,抽象类里面可... 阅读全文
摘要:
// 策略模式 interface people { function say(); function paly(); } class Children implements people { function say() { echo "小孩子"; } function paly() { echo "跑跑跳跳"; } } class Man implements p... 阅读全文
摘要:
// 适配模式 /** * 先定义一个接口,用来格式化子类,接口里面定义好的方法,子类必须全部包含 */ interface Database { // 创建连接 function connect( $host, $name, $pwd, $dbname ); // 查询 function query( $sql ); // 关闭连接 function close(); } c... 阅读全文
摘要:
// 注册树模式 class Register{ public static $array = []; // 将数据绑定到全局上 static function set( $key, $val ){ self::$array[$key] = $val; } static function get( $key ){ return self::$array[$key]; } } ... 阅读全文
摘要:
// 工厂模式 class Factory{ static function create( $namespace ){ return new $namespace(); } } $f = Factory::create('IMooc\Strategy'); var_dump($f);die; 阅读全文
摘要:
// 单例模式 class Single { protected static $isset; /** * 第一步:私有化构造方法 */ private function __construct(){ } /** * 第二步:获取实例 */ static function create(){ if( !self::$isset ){ self::$iss... 阅读全文
摘要:
lnmp下默认的根目录是/usr/share/nginx/html 很多时候我们都需要更改默认的目录,下面记录一下,以备后用 阅读全文
摘要:
var service_id = {};$(".service_id").each(function(index, el) {service_id[index] = el.value; }); 阅读全文