工厂模式:简单理解有一个公共方法,去new对象,所有引用都调用这个公共方法,修改文件的时候,只需要修改这一个公共方法,所有调用的都会同步更改,免去一个文件一个文件修改的麻烦
class Test1{ static function test(){ echo __FILE__; } } class Factory{ /* * 如果某个类在很多的文件中都new ClassName(),那么万一这个类的名字 * 发生变更或者参数发生变化,如果不使用工厂模式,就需要修改每一个PHP * 代码,使用了工厂模式之后,只需要修改工厂类或者方法就可以了。 */ static function createDatabase(){ $test = new Test1(); //工厂模式,只需要修改这里new的类,所有调用的类就一同变化,不用每个都修改 return $test; } } $test = Factory::createDatabase(); $test->test(); //输出类名,修改工厂类里的new所有调用即可同步改变