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

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

Introduction

俗话说,“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在各类应用场景缺少灵活性,你仍是须要重写代码。设计

Summary

转变编程的思惟须要花费的时间是很长的,可是记住:算法提升程序运行的速度,而设计模式提升编程的速度。调试

相关文章
相关标签/搜索