• 设计模式


    1、 开闭原则(对扩展开放,对修改关闭)

    2、单一职责原则(一个类只负责一个功能)

    3、里氏替换原则(类型约束,类型限定)

    4、依赖倒置原则(pdo数据库连接)

      总:1、接口,抽象;2低层,具体实现;3前端应用,高层

      1、高层模块不应该依赖低层模块,两者都应该依赖抽象(低层实现如mysql,sqlserver,oracle等,高层调用add,delete,update等)

      2、抽象不应该依赖于细节,细节应当依赖于抽象

      3、面向接口编程,而非面向具体实现编程

    5、接口隔离原则(把接口分离,公有的方法提取出来,避免类实现接口里不必要的方法,)

    6、迪米特法则(最少知道法则,比如租客,中介,房东,又例如统计中国人口,中央按省统计,不关心省具体怎么统计),聚合/组合复用原则和继承的使用(如果是has,例如人有手,则是用trait聚合/组合,如果是is,认识动物,则用继承)

    7、单例模式:一个类只有一个实例,比如数据库连接类,后面程序需要使用数据库时,只需要实例化一次 

    header('Content-Type:text/html; charset=utf-8;');
    final class DB {
    private static $instance = null;
    public $conn = null;
    private function __construct($config) {
    $this->conn = new mysqli($config['host'],$config['username'],$config['pwd'],$config['database']);
    }
    public static function getInstance($config) {
    if (self::$instance === null) {
    self::$instance = new self($config);
    }
    return self::$instance;
    }
    public function __clone() {
    throw new Exception('Error: 禁止克隆');
    }
    }

    $db = DB::getInstance(['host'=>'127.0.0.1','username'=>'root','pwd'=>'root','database'=>'test']);
    $link = $db->conn;
    mysqli_query($link, 'set names utf8');
    $result = $link->query("select * from goods");
    print_r($result->fetch_all());
  • 相关阅读:
    备考C++有感
    使用GridView来获取xml文件数据
    SQL 事务及实例演示
    MySQL数据分析-(12)表操作补充:字段属性
    以字符串为例,谈谈Python到底要学到什么程度
    MySQL数据分析-(9)库操作补充:用户管理和权限管理
    Python流程控制和缩进
    MySQL数据分析-(11)表补充:数据类型
    MySQL数据分析-(8)SQL基础操作之库操作
    外键
  • 原文地址:https://www.cnblogs.com/maidongdong/p/11422399.html
Copyright © 2020-2023  润新知