上篇文章给大家介绍了《如何用PHP制作MVC框架大体流程》,本文继续给大家介绍PHP中什么是设计模式?什么是单例?怎么用?有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
PHP高级实战-设计模式
设计模式概述
设计模式( Des ignpattern)是一-套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。
模式的经典定义:每个模式都描述了一一个在我们的环境中不断出现的问题,然后描述
了该问题的解决方案的核心,通过这种方式,我们可以无数次地重用那些已有的解决
方案,无需再重复相同的工作。即模式是在特定环境中解决问题的一种方案
现在有两派,有的人建议使用设计模式,有的人不建议使用设计模式!
高内聚、低耦合
类里面的聚合程度要非常的高
类与类之间的关系要尽量的减少
我们还是以代码为例,首先创建一个新的文件,然后我们先写一个类,然后我们来创建两个对象,我们现在创建的两个对象是不是同一段空间,同一个对象,我们需要通过if语句进行判断,代码如下:
<?php class Dog { } $dog1 = new Dog(); $dog2 = new Dog(); if ($dog1=== $dog2) { echo '这是同一个对象'; } else { echo '这是两个不同的对象'; }
结果如下:
我们看到结果显示,是两个不同的对象,因此我们要做单例;
代码如下:
private function_construct( ) { } //静态属性保存单例对象 static private $instance; //通过静态方法来创建单例对象 static public function getInstance() { / /判断$instance是否为空,如果为空,则new- 一个对象 如果不会空,则直接返回 if( !self: :$instance) { self: :$instance = new self(); } return self: : $instance ; }
1、单例(单一实例)
这个类只能创建-一个对象。
php的应用主要在于数据库应用,一一个应用中会存在大量的数据库操作,使用单例模式,
可以避免大量的new 操作消耗的资源
步骤:
1、构造函数需要标记为private
2、保存类实例的静态成员变量
3、获取实例的公共的静态方法
推荐学习:《PHP视频教程》