php设计模式

从Yii2登陆中看PHP的工厂模式

风格不统一 提交于 2019-11-30 12:44:30
首先,简单介绍下工厂模式: 在大型系统中,许多代码依赖于少数几个关键类。需要更改这些类时,可能会出现困难。例如,假设您有一个从文件读取的 User 类。您希望将其更改为从数据库读取的其他类,但是,所有的代码都引用从文件读取的原始类。这时候,使用工厂模式会很方便。 工厂模式 是一种类,它具有为您创建对象的某些方法。您可以使用工厂类创建对象,而不直接使用 new。这样,如果您想要更改所创建的对象类型,只需更改该工厂即可。使用该工厂的所有代码会自动更改。 1、首先,我们来实现一个简单的工厂模式,代码如下: <?php /* * PHP设计模式 * 工厂模式 */ /** * 接口 */ interface Iuser { function getName(); function getAge(); } /** * 接口实现 */ class User implements Iuser { public $uid; public $user_list = array( '1' => array( 'name' => 'ken', 'age' => '32' ), '2' => array( 'name' => 'nices', 'age' => '13' ), ); public $user; public function __construct($uid) { $this->uid =