PHP设计模式---建造模式(Builder Pattern)

优缺点:优点:建造模式可以让一个产品的内部表现和产品的生产过程分离,从而可以生成具有不同内部表象的产品缺点:建造者的接口修改会倒是所有执行类的修改 适用性:需要生成的产品对象有负责的内部接口需要成产品对象得属性相互依赖,建造这模式可以强迫生成顺序在对象创建过程中使用到系统中的一些其他对象,这些对象在产品对象得创建过程中不易得到其主要是为了消除其他对象复杂的创建过程 代码示例🌰class Use...

Read more

PHP设计模式---原型模式(Prototype Pattern)

定义用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象,通过复制已经存在的实例来返回新的实例,而不是新建实例,并且原型是可以制定的原型模式多用于创建复杂的或耗时的实例,这种情况下,复制一个已经存在的实例是程序运行更高的一种好的办法。 备注浅拷贝:Object类的clone方法只会拷贝对象中的基本的数据类型,对于数组、容器对象、引用对象等都不会拷贝,这就是浅拷贝。如果一个对象A是对象B的...

Read more

PHP设计模式---状态模式(State Pattern)

应用在软件开发过程中,应用程序可能会根据不同的状况作出不同的处理,只直接的方案就是将这些可能的解决方案全都考虑到,然后就是使用if else 语句来做出判断,但是面对比较复杂的判断就不太行了,这样机会影响程序的可读性,扩展性也变得很弱,维护也很麻烦,这时候就考虑到状态模式。例如: 按钮来控制一个电梯的状态,一个电梯开们,关门,停,运行。每一种状态改变,都有可能要根据其他状态来更新处理。开门状态,...

Read more

PHP设计模式---策略模式(Strategy Pattern)

封装变化 多用组合少用继承 针对接口编程,不要针对实现编程 定义定义了算法族,分别封装起来,让它们之间可以互相替换, 此模式让算法的变化独立于使用算法的客户。把有变化的行为抽离出去,进行封装,分别作为接口,用多台去不同的实现这些接口,这就组成了一族算法,在本类中定义变量去引用这个接口的子类对象用相对应的行为方法中用这个引用的子类对象去实现这个算法;这样这个类就不在关心到底进行什么样的算法,只关...

Read more

PHP设计模式---组合模式(Composite Pattern)

定义允许将对象组合成树形结构来表现整体部分的参差结构,组合能让客户以一致的方式处理个别对象以及对象的组合 原理定义一个接口,所有类都继承这个接口(这为客户能一直处理枝叶对象提供了可能,因为每个类都要实现这里的每一个抽象方法) abstract classc MenuComponent { //获得类名称 public $name; //添加类别 publ...

Read more

PHP设计模式---备忘录模式(Memento Pattern)

定义在不破坏封装性的前提下捕获一个对象的内部状态,并在该对象之外保存这个状态,这样既可以将该对象回复到原先保存的状态 使用情况我们在编程的时候,经常保存对象的中间状态,当需要的时候,可以恢复到这个状态 结构发起人:记录当前时刻的内部状态,负责定义那些属于备份范围的状态,负责创建和恢复备忘数据。备忘录:负责存储发起人对象的内部状态,在需要的时候提供发起人需要的内部状态。管理角色:对备忘录进行管理...

Read more

Laravel5.1 安装及配置

运行环境要求 运行环境要求Mcrypt PHP 扩展 : php的加密扩展,提供多种加密算法 openssl扩展 : 对传输的数据进行加密mbstring 扩展 : mbstring 提供了针对多字节字符串的函数,能够帮你处理 PHP 中的多字节编码Tokenizer PHP 扩展 : php代码解析 安装composer安装 (LTS long time service)composer...

Read more

Laravel5.1 请求

请求 基本信息获取 获取请求方法 $request->method();检测方法 $request->isMethod('post')请求路径 $request->path()获取完整url $request->url();获取ip $request->ip()获取端口 $request->getPort() 提取请求参数 基本获取 $name =...

Read more

Laravel5.1 控制器以及访问

创建控制器 php artisan make:controller UserController php artisan make:controller UserController --plain 路由以及访问 普通访问 Route::get('/User/add', 'UserController@add');带参数访问 Route::get('...

Read more

Laravel5.1 数据库操作

数据库操作 支持的数据库类型 MySQLPostgresSQLiteSQL Server 数据库连接配置文件位置 config/database.php结果集的返回类型 'fetch' => PDO::FETCH_ASSOC.env环境快速配置数据库基本操作 查询 DB::select插入 DB::insert更新 DB::update删除 DB::delete一般语句 DB::s...

Read more