实例化类,先需要引入类文件,但是有时候我们并不知道可能要用到那些类,如果将所有类文件全部引入,会造成资源浪费,这时候可以采用工厂模式,专门用于 自动加载、实例化 类。
实例代码:
注:案例中假设有一个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);