前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从零开始学设计模式(1):基础编程模式

从零开始学设计模式(1):基础编程模式

作者头像
wangxl
发布2018-03-08 15:22:06
1K0
发布2018-03-08 15:22:06
举报
文章被收录于专栏:PHP在线PHP在线

Introduction

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

面向对象编程

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

代码语言:javascript
复制
<?phpclass ShowAgent {  private $agent;  public function __construct() {    $this->agent = $_SERVER['HTTP_USER_AGENT'];    echo $this->agent;  }}$showAgent = new ShowAgent();?>

调试技巧

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

代码语言:javascript
复制
<?phpini_set("display_errors", "1");ERROR_REPORTING(E_ALL);?>

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

流水账编程

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

代码语言:javascript
复制
<?php$total = "Total number is ";$number = "6";$totalNumber = $total.$number;echo $totalNumber;?>

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

面向过程编程

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

代码语言:javascript
复制
  1. <?php
  2. function showTotal($total, $number) {
  3. $totalNumber = $total.$number;
  4. echo $totalNumber;
  5. }
  6. showTotal("Total number is", "6");
  7. ?>

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

Summary

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 php 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Introduction
  • 面向对象编程
  • 调试技巧
  • 流水账编程
  • 面向过程编程
  • Summary
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档