PHP設計模式 一 基礎程式設計模式

2021-09-19 08:36:35 字數 1248 閱讀 1134

俗話說,「php是世界上最好的語言」,因為php什麼都能幹。但是在php程式設計中,你是否會遇到這樣的困惑:明明是相同的需求,但是之前寫的**卻並不能重用,稍微修改不滿足需求,大改又會讓頁面變樣。

是的,由於php什麼都能幹,但是高度靈活性降低了**的結構性。雖然可以利用三方框架來解決問題,但問題的根本在於缺乏設計模式。

本系列文章將由淺入深的介紹各種設計模式。

物件導向程式設計,object-oriented programming(oop)作為最基本的設計模式並不是什麼新鮮的話題,但是大部分新手的php程式設計都是在寫流水賬,各種拼接字串,所以這裡還是要提一下。

object-oriented programming的概念這裡就不說了,畢竟很多人都明白,但是如何在php中使用?

假設你需要在頁面上顯示不同的使用者型別,如電腦使用者、手機使用者等,那麼你可以將「顯示」這件事抽象為乙個類,如:

<?php

class showagent

}$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;

?>

這段**並沒有錯,但是以後再也無法重用了,對吧?每次遇到相同問題,你都需要反覆拼接。

面向過程程式設計曾經很流行,缺點也是無法維護,例如:

<?php

function showtotal($total, $number)

showtotal("total number is", "6");

?>

這段**同樣沒有錯,但是時間久了,由於缺乏類的概念,showtotal在各種應用場景缺乏靈活性,你還是需要重寫**。

轉變程式設計的思維需要花費的時間是很長的,但是記住:演算法提高程式執行的速度,而設計模式提高程式設計的速度。

PHP設計模式(一)單例模式

在物件導向程式設計中,我們會用到很多設計模式,比如常見的單例模式,工廠模式,模式,觀察者模式等等。每乙個模式,都能解決特定問題,是很多前輩經過很多實踐總結出來的。掌握並靈活運用它們,對於物件導向程式設計有很大的幫助。php中常用的設計模式有 class singlepattern return in...

php設計模式 一 單例模式

應用場景 資料庫連線這種比較費資源的操作 我們希望整個應用只實列化一次 結構 4私1公 私有化構造方法 防止使用 new 建立多個實列 私有化轉殖方法 防止clone多個實列 私有化重建方法 防止反序列化 私有化靜態屬性 防止直接訪問儲存實列的屬性 class signle1 return stat...

Php設計模式 行為型模式(一)

原文詳見 一 什麼是行為型模式?行為型模式 就是描述類和物件之間的通訊和職責的。簡而言之,就是類和物件扮演什麼角色,還有怎麼扮演這個角色的問題。二 行為型模式的種類 大體上分為三個大類 常見模式 已知模式 深度模式 常見模式包括 模版方法模式 命令模式 迭代器模式 觀察者模式 中介者模式 狀態模式 ...