为了账号安全,请及时绑定邮箱和手机立即绑定

大话PHP设计模式

Rango PHP开发工程师
难度中级
时长 3小时30分
学习人数
综合评分9.57
139人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.6 逻辑清晰
  • 原型模式:通过克隆(clone)来在内存拷贝大对象,节约开销。
    查看全部
    0 采集 收起 来源:[php]原型模式

    2015-06-19

  • 定义一个观察者接口,以及定义不同的观察者实现这个接口,实现接口定义的方法。 定义一个abstract事件抽象类,定义了一个添加观察者的方法(接受一个观察者对象),再定义一个通知方法,向所有的观察者发出更新的通知。
    查看全部
  • 定义一个策略接口,定义多个具体的策略类,使用的时候,根据上下文的不同,调用对应的策略类,使用相同的接口方法,执行不同的策略代码
    查看全部
  • 使用命名空间,那调用方法的时候就要写很长一串,那么可以使用 别名功能
    查看全部
  • 在代码中实现数据对象映射模式,我们将实现一个ORM类,将复杂的SQL语句映射成对象属性的操作。 在代码中实现数据对象映射模式,我们将实现一个ORM类,将复杂的sql语句映射成对象属性的操作 结合使用数据对象映射模式,工厂模式,注册模式
    查看全部
  • 策略模式:依赖倒置,控制反转。
    查看全部
  • PHP策略模式: UserStrategy.php策略的接口文件:约定策略的所有行为。 FemaleUserStrategy.php 实现接口的所有方法 MaleUserStrategy.php 调用: class Page { protected $strategy; function index() { echo "AD:"; $this->strategy->showAd(); echo "<br/>"; echo "Category:"; $this->strategy->showCategory(); echo "<br/>"; } function setStrategy(\IMooc\UserStrategy $strategy) { $this->strategy=$strategy; } } $page=new Page(); if(isset($_GET["female"])) { $strategy=new \IMooc\FemaleUserStrategy(); } else{ $strategy=new \IMooc\MaleUserStrategy(); } $page->setStrategy($strategy); $page->index();
    查看全部
  • 1.策略模式,将一组特定的行为和算法封装成类,以适应某些特定的上下文环境,这种模式就是策略模式。 2.实际应用举例,假如一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有广告位展示不同的广告。
    查看全部
  • PHP适配器模式实现: 首先定一一个接口,再让各个实现类去实现这个接口。从而达到适配器效果。
    查看全部
  • 1.适配器模式,可以将截然不同的函数接口封装成统一的API 2.实际应用举例,PHP数据库操作有mysql,mysqli,pdo三种,可以用适配器模式统一成一致。类似场景还有cache适配,将memcache,redis,file,apc等不同的缓存函数,统一成一致
    查看全部
  • 注册器模式: namespace IMooc; class Register { protected static $objects; //注册。如Register::set('db1',$db); function set($alias,$object) { self::$object[$alias]=$object; } //取值。如$db=IMooc\Register::get('db1'); static function get($name) { return self::$object[$alias]; } //移除 function _unset($alias) { unset(self::$object[$alias]); } }
    查看全部
  • PHP单例模式: class Database { protected static $db; private function __construct() { } static function getInstance() { if(!isset(self::$db)) { return self::$db; } else { self::$db=new self(); return self::$db; } } function where($where) { return $this; } function order($order) { return $this; } function limit($limit) { return $this; } }
    查看全部
    0 采集 收起 来源:[php]单例模式

    2015-06-18

  • 设计模式,工厂模式:工厂方法或者类生成对象,而不是在代码中直接new ,单例模式:使某个类的对象仅允许创建一个 ,注册模式:全局共享和交换对象
    查看全部
  • php四种魔术方法: namespace IMooc; class Object { protected $array=array(); //设置不存在属性值时调用。如$obj->name="domico" ; function __set($key,$value) { var_dump(__METHOD__); $this->array[$key]=$value; } //获取不存在属性值时调用。如$obj->name; function __get($key) { var_dump(__METHOD__); return $this->array[$key]; } //调用不存在方法时调用。如$obj->test(); function __call($func,$param) { var_dump($func,$param); return "magic function"; } //与__call的区别是 静态方法。 如IMooc\Object::test(); static function __callStatic($func,$param) { var_dump($func,$param); return "static magic function"; } //直接输出实例时,如echo $obj; function __toString() { return __CLASS__; } //将实例当成方法使用时。如 $obj("hh"); function __invoke($param) { var_dump($param); return "invoke"; } }
    查看全部
  • 链式操作的核心点在于:业务逻辑结束后返回当前对象。如:return $this;
    查看全部

举报

0/150
提交
取消
课程须知
要想更好的掌握本课课程的重点内容,那么熟知面向对象的相关知识是必不可少的。
老师告诉你能学到什么?
1、了解PHP的11种设计模式 2、掌握设计模式的编程实现 3、具备使用设计模式进行面向对象编程的能力

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!