## 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]);
~~~
- 代码规范
- 编程规范(psr-1,2)
- 编程规范(原作者的建议)
- JS篇
- 正则校验
- 检测密码强度
- 常用方法
- 页面下载文件
- 手机类型判断
- 字符串截取方法
- 全选/全不选
- js 判断浏览器
- JS判断两个日期大小
- JS 执行计时器
- 回车提交
- 阻止冒泡
- js每3位用逗号隔开的形式
- JS跟APP端交互
- 常用的工具类
- PHP地理位置计算
- 百度地图两点坐标距离计算
- 生成唯一ID
- 身份证验证类
- 阿拉伯数字转化为大写
- 获取汉字首个拼音
- PHP中文转拼音
- Rand类库
- PHP Date()函数详细参数
- 时间
- PHP每3位用逗号隔开的形式
- Elasticsearch全文搜索引擎
- 全文搜索引擎 Elasticsearch
- 设计模式
- 单例模式
- 依赖注入VS控制反转
- 工厂模式
- Gitlab
- git常用命令
- PHPStorm关联gitlab
- Thinkphp5
- 工具类
- 扩展
- think-queue——ThinkPHP队列扩展
- qr-code——好用的二维码生成类库
- ThinkPHP5 社会化登录组件
- PHP SDK——助力支付宝小程序后端开发
- tp5.0使用predis访问redis集群
- tp5+swoole
- 网络知识
- HTTP知识
- 小程序
- 知识推荐