PHP_工厂模式

实例化类,先需要引入类文件,但是有时候我们并不知道可能要用到那些类,如果将所有类文件全部引入,会造成资源浪费,这时候可以采用工厂模式,专门用于 自动加载、实例化 类。

实例代码:

注:案例中假设有一个Factory文件夹里存放了一些类文件

<?php

//创建一个工厂类,批量创建对象
class Factory{

    //创建一个静态方法
    static function func1($className){

        //将需要引入文件地址保存到$path
        $path = 'Factory/'.$className.'.php';
        //文件不存在就结束
        if (!is_file($path)) {
            //echo '文件不存在';
            return false;
        }else{
            /**
             * 文件存在则引入文件
             *将文件里的类实例化保存到$obj
             *返回实例化结果
             */
            include $path;
            $obj = new $className;
            return $obj;
        }
    }
}

//通过工厂实例化一个对象
$a = Factory::func1('A');
var_dump($a);

 

posted @ 2017-08-03 15:52  bk233  阅读(166)  评论(0编辑  收藏  举报