php设计模式 Factory(工厂模式)
2015-01-24信息快讯网
定义一个用于创建对象的接口,让子类决定将哪一个类实例化,使用一个类的实例化延迟到其子类
<?php /** * 工厂方法模式 * * 定义一个用于创建对象的接口,让子类决定将哪一个类实例化,使用一个类的实例化延迟到其子类 */ /* class DBFactory { public static function create($type) { swtich($type) { case "Mysql": return new MysqlDB(); break; case "Postgre": return new PostgreDB(); break; case "Mssql": return new MssqlDB(); break; } } } */ class DBFactory { public static function create($type) { $class = $type."DB"; return new $class; } } interface DB { public function connect(); public function exec(); } class MysqlDB implements DB { public function __construct() { echo "mysql db<br/>"; } public function connect() { } public function exec() { } } class PostgreDB implements DB { public function __construct() { echo "Postgre db<br/>"; } public function connect() { } public function exec() { } } class MssqlDB implements DB { public function __construct() { echo "mssql db<br/>"; } public function connect() { } public function exec() { } } $oMysql = DBFactory::create("Mysql"); $oPostgre = DBFactory::create("Postgre"); $oMssql = DBFactory::create("Mssql");
apache php模块整合操作指南
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
PHP中数字检测is_numeric与ctype_digit的区别介绍
PHP 之Section与Cookie使用总结
PHP中使用foreach和引用导致程序BUG的问题介绍
php循环语句 for()与foreach()用法区别介绍
Windows下部署Apache+PHP+MySQL运行环境实战
PHP中extract()函数的定义和用法
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
php学习之function的用法
php设计模式 Facade(外观模式)
php设计模式 Interpreter(解释器模式)
php的memcached客户端memcached
PHP模块 Memcached功能多于Memcache
php模块memcache和memcached区别分析
批量获取memcache值并按key的顺序返回的实现代码
PHP中遍历stdclass object的实现代码
PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
rephactor 优秀的PHP的重构工具
php自动获取字符串编码函数mb_detect_encoding
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE eval()'d code error