工厂模式通常用来返回类似接口的不同的类,工厂的一种常见用法就是创建多态的提供者。
通常工厂模式有一个关键的构造,即一般被命名为factory的静态方法。这个静态方法可以接受任意数量的参数,并且必须返回一个对象。
interface IDatabase { //...public function query($sql); } class DBFactory { public static function create($type){ $db = null; switch ($type) { case 'mysql': $db = new Mysql(/**arguments*/); break; case 'sqlite': $db = new Sqlite(/**arguments*/); break; case 'pgsql': $db = new PGsql(/**arguments*/); break; default: # code... break; } return $db; } } class Mysql implements IDatabase { //... public function query($sql){ } } /**other class ...*/
$db = DBFactory::create('mysql'); $db->query('show database');
以上就介绍了php中的设计模式:工厂模式,包括了php工厂模式方面的内容,希望对PHP教程有兴趣的朋友有所帮助。