Heim > Backend-Entwicklung > PHP-Tutorial > PHP设计模式一:基础编程模式

PHP设计模式一:基础编程模式

WBOY
Freigeben: 2016-07-29 08:56:41
Original
1093 Leute haben es durchsucht

原文地址:PHP设计模式(一):基础编程模式

Introduction

俗话说,“PHP是世界上最好的语言”,因为PHP什么都能干。但是在PHP编程中,你是否会遇到这样的困惑:明明是相同的需求,但是之前写的代码却并不能重用,稍微修改不满足需求,大改又会让页面变样。
是的,由于PHP什么都能干,但是高度灵活性降低了代码的结构性。虽然可以利用三方框架来解决问题,但问题的根本在于缺乏设计模式。
本系列文章将由浅入深的介绍各种设计模式。

面向对象编程

面向对象编程,Object-Oriented Programming(OOP)作为最基本的设计模式并不是什么新鲜的话题,但是大部分新手的PHP编程都是在写流水账,各种拼接字符串,所以这里还是要提一下。
Object-Oriented Programming的概念这里就不说了,毕竟很多人都明白,但是如何在PHP中使用?
假设你需要在页面上显示不同的用户类型,如电脑用户、手机用户等,那么你可以将“显示”这件事抽象为一个类,如:

<code><?php class ShowAgent {
  private $agent;
  public function __construct() {
    $this->agent = $_SERVER['HTTP_USER_AGENT'];
    echo $this->agent;
  }
}
$showAgent = new ShowAgent();
?></code>
Nach dem Login kopieren

调试技巧

在很多PHP默认环境中,调试功能是关闭的。打开调试功能又需要配置php.ini文件,其实有一个简单的方法:

<code><?php ini_set("display_errors", "1");
ERROR_REPORTING(E_ALL);
?></code>
Nach dem Login kopieren

将这段代码加入到你的代码中,甚至可以require或者include进去,方便调试。

流水账编程

这里列出流水账编程,并不是让你学习,而是指出何种编程不推荐使用:

<code><?php $total = "Total number is ";
$number = "6";
$totalNumber = $total.$number;
echo $totalNumber;
?></code>
Nach dem Login kopieren

这段代码并没有错,但是以后再也无法重用了,对吧?每次遇到相同问题,你都需要反复拼接。

面向过程编程

面向过程编程曾经很流行,缺点也是无法维护,例如:

<code><?php function showTotal($total, $number) {
  $totalNumber = $total.$number;
  echo $totalNumber;
}
showTotal("Total number is", "6");
?></code>
Nach dem Login kopieren

这段代码同样没有错,但是时间久了,由于缺乏类的概念,showTotal在各种应用场景缺乏灵活性,你还是需要重写代码。

Summary

转变编程的思维需要花费的时间是很长的,但是记住:算法提高程序运行的速度,而设计模式提高编程的速度。

以上就介绍了PHP设计模式一:基础编程模式,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage