博主信息
博文 28
粉丝 0
评论 0
访问量 20742
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
php设计模式-2018年-5月11日01:02
植树青年小江同志的博客
原创
806人浏览过

单例模式

实例

<?php
namespace Singleton\index;

/**
* 单例模式 
*/


class Singleton
{
  private static $instance = null;



  private function __construct()
  {

  }

  public static function getInstance()
  {
    if (is_null(self::$instance)){
      self:$instance = new self();
    } 

    return self::$instance;
  }

  // 防止被克隆

  private function __clone()
  {
    
  }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

工厂模式

实例

<?php

namespace Factory\index;

class Honda
{
  private $name;

  private $power;

  public function __construct($name, $power)
  {
    $this->name = $name;
    $this->power = $power;
  }

  public function getNameAndPower()
  {
    return $this->name . '拥有' . $this->power . '马力';
  }
}

class HondaFactory
{
  public static function create($name, $power)
  {
    return new Honda($name, $power);
  }
}


$civic = HondaFactory::create('Civic', '177');

print_r($civic->getNameAndPower());

运行实例 »

点击 "运行实例" 按钮查看在线实例

注册树模式

实例

<?php

namespace Register\index;

class Register
{
  public static $store = array();

  public static function set ($key, $value)
  {
    self::$store[$key] = $value;
  }

  public static function get($key)
  {
    return self::$store[$key];
  }

  public static function unset($key)
  {
    unset(self::$store[$key]);
  }
}

// class Demo1 {}
// class Demo2 {}
// class Demo3 {}

//   Register::set('demo1',new Demo1);
// Register::set('demo2',new Demo2);
// Register::set('demo3',new Demo3);

// //检测是否上树?
// var_dump(Register::$store);
// echo '<hr>';
// echo '<pre>'.print_r(Register::$store,true).'</pre>';

// echo '<hr>';

// //用注册类的get方法查看
// var_dump(Register::get('demo2'));

// //删除对象池中的某个实例对象
// Register::unset('demo2');

// //再次查看demo2对象,已经不能被查看了,因为被销毁了
// var_dump(Register::get('demo2'));

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学