Rumah >pembangunan bahagian belakang >masalah PHP >PHP中什么是设计模式?什么是单例?怎么用?

PHP中什么是设计模式?什么是单例?怎么用?

慕斯
慕斯asal
2021-06-22 17:57:272500semak imbas

上篇文章给大家介绍了《如何用PHP制作MVC框架大体流程》,本文继续给大家介绍PHP中什么是设计模式?什么是单例?怎么用?有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

PHP中什么是设计模式?什么是单例?怎么用?

PHP高级实战-设计模式

设计模式概述

设计模式( Des ignpattern)是一-套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。

模式的经典定义:每个模式都描述了一一个在我们的环境中不断出现的问题,然后描述

了该问题的解决方案的核心,通过这种方式,我们可以无数次地重用那些已有的解决

方案,无需再重复相同的工作。即模式是在特定环境中解决问题的一种方案

现在有两派,有的人建议使用设计模式,有的人不建议使用设计模式!

高内聚、低耦合

类里面的聚合程度要非常的高

类与类之间的关系要尽量的减少

我们还是以代码为例,首先创建一个新的文件,然后我们先写一个类,然后我们来创建两个对象,我们现在创建的两个对象是不是同一段空间,同一个对象,我们需要通过if语句进行判断,代码如下:

<?php
class Dog
{
}
$dog1 = new Dog();
$dog2 = new Dog();
if ($dog1=== $dog2) {
echo &#39;这是同一个对象&#39;;
} else {
echo &#39;这是两个不同的对象&#39;;
}

结果如下:

30.JPG

我们看到结果显示,是两个不同的对象,因此我们要做单例;

代码如下:

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视频教程

Atas ialah kandungan terperinci PHP中什么是设计模式?什么是单例?怎么用?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn