原文地址:PHP设计模式(一):基础编程模式php
俗话说,“PHP是世界上最好的语言”,由于PHP什么都能干。可是在PHP编程中,你是否会遇到这样的困惑:明明是相同的需求,可是以前写的代码却并不能重用,稍微修改不知足需求,大改又会让页面变样。
是的,因为PHP什么都能干,可是高度灵活性下降了代码的结构性。虽然能够利用三方框架来解决问题,但问题的根本在于缺少设计模式。
本系列文章将由浅入深的介绍各类设计模式。算法
面向对象编程,Object-Oriented Programming(OOP)做为最基本的设计模式并非什么新鲜的话题,可是大部分新手的PHP编程都是在写流水帐,各类拼接字符串,因此这里仍是要提一下。
Object-Oriented Programming的概念这里就不说了,毕竟不少人都明白,可是如何在PHP中使用?
假设你须要在页面上显示不一样的用户类型,如电脑用户、手机用户等,那么你能够将“显示”这件事抽象为一个类,如:编程
<?php class ShowAgent { private $agent; public function __construct() { $this->agent = $_SERVER['HTTP_USER_AGENT']; echo $this->agent; } } $showAgent = new ShowAgent(); ?>
在不少PHP默认环境中,调试功能是关闭的。打开调试功能又须要配置php.ini文件,其实有一个简单的方法:设计模式
<?php ini_set("display_errors", "1"); ERROR_REPORTING(E_ALL); ?>
将这段代码加入到你的代码中,甚至能够require或者include进去,方便调试。框架
这里列出流水帐编程,并非让你学习,而是指出何种编程不推荐使用:学习
<?php $total = "Total number is "; $number = "6"; $totalNumber = $total.$number; echo $totalNumber; ?>
这段代码并无错,可是之后再也没法重用了,对吧?每次遇到相同问题,你都须要反复拼接。ui
面向过程编程曾经很流行,缺点也是没法维护,例如:this
<?php function showTotal($total, $number) { $totalNumber = $total.$number; echo $totalNumber; } showTotal("Total number is", "6"); ?>
这段代码一样没有错,可是时间久了,因为缺少类的概念,showTotal在各类应用场景缺少灵活性,你仍是须要重写代码。设计
转变编程的思惟须要花费的时间是很长的,可是记住:算法提升程序运行的速度,而设计模式提升编程的速度。调试