面向对象—工厂模式示例(数据库示例)
来源:互联网 发布:足球关注分析软件 编辑:程序博客网 时间:2024/05/01 10:57
<?phpheader("content-type:text/html;charset=utf8");class DBFactory{ public static function create($type){ return new $type; }}/** * 定义接口 */interface DB{ public function connect(); public function exec($sql); public function query($sql); public function add($arr); public function find($where); public function del($where); public function save($arr,$where);}/** * 具体封装方法 */class Mysql implements DB{ public $dsn; public function __construct(){ $this->dsn = "mysql:host=127.0.0.1;dbname=cms"; } //链接数据库 public function connect(){ $pdo = new PDO($this->dsn, 'root', 'root'); $pdo->exec("set names utf8"); return $pdo; } //具体执行的方法 public function exec($sql){ return $this->connect()->exec($sql); } public function query($sql){ return $this->connect()->query($sql); } //增 public function add($arr) { $key = ''; $value = ''; foreach($arr as $k=>$v) { $key .= "$k,"; $value .= "'$v',"; } $key = substr($key,0,-1); $value = substr($value,0,-1); $sql = "insert into cmss ($key) values ($value)"; $res = $this->exec($sql); return $res; } //删 public function del($where) { $sql = "delete from cmss where $where"; $res = $this->exec($sql); return $res; } //改 public function save($arr,$where) { $str = ''; foreach($arr as $k=>$v) { $str .= "$k='$v',"; } $str = substr($str,0,-1); $sql = "update cmss set $str where $where"; $res = $this->exec($sql); return $res; } //查 public function find($where) { $sql = "select * from cmss where $where"; $arr = $this->query($sql)->fetchAll(PDO::FETCH_ASSOC); return $arr; }}$mysql = DBFactory::create("Mysql");$res = $mysql->find("1");var_dump($res);?>
0 0
- 面向对象—工厂模式示例(数据库示例)
- 面向对象----观察者模式(示例)
- 工厂模式示例代码
- java工厂模式示例
- 简单工厂模式示例
- java工厂模式——Spring示例
- java工厂模式——Spring示例
- 工厂模式代码示例(一)
- 工厂模式代码示例(二)
- 面向对象软件设计原则(五) —— 应用示例
- Scala基础—面向对象编程示例
- 《GOF设计模式》—工厂方法(Factory Method)—Delphi源码示例:延迟初始化对象
- factory(工厂) 模式简单示例
- 抽象工厂模式示例代码
- java 简单工厂模式示例
- 简单工厂模式 java示例
- c++工厂模式代码示例
- js面向对象——工厂模式(超级基础)
- Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL
- archlinux上安装sublime编辑器
- 关于布局填充器的参数
- 史上最适合 MVP 初学者学习的 DEMO,整体运用 OKhttp+Mvp+MD 风格设计
- memcahce使用
- 面向对象—工厂模式示例(数据库示例)
- linux SSH无密码登录设置 仍需输密码
- 返回指定的 的界面控制器
- 找到一个LINUX与WINDOWS实现实时文本通信的办法
- java:通过Semaphore构建对象池
- macos阻止硬盘休眠
- iOS 调取本地地图以及三方地图
- win32之简易记事本
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之六 - 运行参数