ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## PHP工厂模式概念 工厂模式是一种类,它具有为您创建对象的某些方法。您可以使用工厂类创建对象,而不直接使用 new。这样,如果您想要更改所创建的对象类型,只需更改该工厂即可。使用该工厂的所有代码会自动更改。 根据抽象程度不同,PHP工厂模式分为:**简单工厂模式、工厂方法模式和抽象工厂模式** ## 简单工厂模式 ~~~ /** *简单工厂模式。 *这样理解可以确定,简单工厂模式是通过一个在工厂类里直接new对象的。 */ class Flight { protected $speed; protected $holdtime; public function __construct($speed, $holdtime) {} } class Force { protected $force; public function __construct($force) {} } 。。。 class SuperModuleFactory { public function makeModule($moduleName, $options) { switch ($moduleName) { case 'Fight': return new Fight($options[0], $options[1]); case 'Force': return new Force($options[0]); case 'Shot': return new Shot($options[0], $options[1], $options[2]); } } } // 初始化工厂 $factory = new SuperModuleFactory; // 通过工厂提供的方法制造需要的模块 $this->power = $factory->makeModule('Fight', [9, 100]); $this->power = $factory->makeModule('Force', [45]); $this->power = $factory->makeModule('Shot', [99, 50, 2]); ~~~