热搜:NVER node 开发 php

PHP设计模式--工厂模式

2024-07-24 16:50:01
PHP设计模式--工厂模式

<?php/** * 工厂模式 * 提供获取某个对象的新实例的一个接口,同时使调用代码避免确定实际实例化基类的步骤。 *  * 工厂类用于创建不同类的实例,并将其返回。 *//** * 服务端开始 */interface DB{    function conn();}interface Factory{    function createDB();}//class MysqlDB implements DB{    public function conn() {        echo '连接上Mysql...';    }}//class SqliteDB implements DB{    public function conn() {        echo '连接上Sqlite...';    }}//class MysqlFactory implements Factory{    public function createDB() {        return new MysqlDB();    }}//class SqliteFactory implements Factory{    public function createDB() {        return new SqliteDB();    }}/** * 客户端开始 *///连接Mysql$fact = new MysqlFactory();$db = $fact->createDB();$db->conn();echo '
';//连接Sqlite$fact = new SqliteFactory();$db = $fact->createDB();$db->conn();echo '
';/** * 扩展:添加Oracle连接 */class OracleDB implements Db{ function conn() { echo '连接上Oracle....'; }}class OracleFactory implements Factory{ public function createDB() { return new OracleDB(); }}//连接Oracle$fact = new OracleFactory();$db = $fact->createDB();$db->conn();echo '
';