php的開發模式 基礎篇

2021-04-12 22:00:07 字數 1999 閱讀 9324

現在流行的開發方式是使用極限程式設計的方式,極限程式設計的思想是測試用例在編碼之前就開始,在這裡我不打算對極限程式設計做過多的說明,如果你在之一塊不太明白的話可以去網上搜尋,本文的開發方式僅僅是使用這種方式而已,如果你不是太明白的華也沒有關係,只要你有實際的專案經驗也是完全的可以明白的。

在開始之前,我先介紹一下c語言在極限程式設計使用上的一些方法,這僅僅是很簡單的,但是這些方法運用在php的開發上市完全的適用的,為了讓大家更好理解php上的極限編成,我們就現使用c做乙個極限程式設計的例子。

假定我們要使用c開發乙個對陣列進行排序的工程,為了是這個程式可以在其他的程式中使用,我們盡量的模組華的開發,下邊我們開**1.1

**1。1

/**對陣列排序的標頭檔案sort.h

*/#include

#ifndef sort_h

#define sort_h

void sort(int *a,int len);

#endif //sort_h

這個檔案是要對乙個int的陣列進行排序的標頭檔案的定義,在開實現方法sort函式的檔案,**1。2

**1。2

/**對陣列進行排序的實現檔案sort.c

*/void sort(int *a,int len)}}

}現在就完成的對陣列的排序工作,我們現在可以在別的地方呼叫這個方法,現在現家一種使用這個類的應用,假設我們有一段的程式要呼叫這個函式,並且在這段的**中我們要得到使用的個函式的效率,和驗證是不是返回正確的結果,在些這段**的時候我們按照極限程式設計的模式先寫測試,然後根據測試的**想裡邊填充內容,假定前邊的排序的函式是是已經有的庫,大部分的時候一些通用的**都是已經可以直接使用的。我看**1.3

/**程式的主要部分的**

test.c

*/#include "sort.h"

int main()

好了,上邊的**test。c是不可以執行的,我們只是把程式的大致的流程寫了一下,下一步的工作就是對test.c進行擴充,一達到我們的目的,具體的擴充請看**清單1.4

**1.4

/**程式的主要部分的**

test.c

*/#include "sort.h"

#ifndef debug

#define debug

#endif //debug

int main()

#ifdef debug

time time1 = gettime();//對於從語言的時間函式些起來很複雜,我就簡單的這麼些,你只要明白這是得到的系統的當前的時間就可以了,下邊的和這裡的一樣。

#endif //debug  

sort(a,len);

#ifdef debug

time time2= gettime();

time timediff = time2 - time1;

printf("sort run time :/t %s/n",timediff);

for(int j = 0 ; j < len ; j++)

#endif //debug   

}好了,這樣我們就可以執行**了,如果我們要進行測試,我們就按照上邊的**來執行,執行後可以看到我們的排序函式的執行時間和排序後的陣列是不是我們希望的結果,如果一切ok的華我們只要把#define debug刪除掉,就不會在顯示我們執行的時間和輸出陣列的結果了,好了,大家看完了c語言的這種方式是不是很有啟發那?php和c語言有很多的相似之初,有的地方更是神似,所以有了上邊的基礎我們在來討論php的開發方式就可以很快的上手了。

今天就先寫到這裡,關於php的極限開發模式我會在後邊繼續的些下去,希望大家支援。

好了,現在我們總結一下,開發的一些步驟:

1. 編寫測試**。

2. 填充測試**。

3. 執行測試**。

4. 分析。

5. 修改測試**使之不再發行程式中包含。

以上就是乙個非常簡單容易理解的模式,根據不同的情況常常會改變其中的一些步驟,但是總的來說對我們的開發工作就是極大的提高了。

謝謝閱讀。

未完待續

PHP 擴充套件開發 Zephir 基礎篇

基本語法 zephir 中,每個檔案都必須有且只有乙個類,每個類都必須有乙個命名空間,目錄結構必須與所使用的類和命名空間的名稱相匹配,這一點和 psr4 的約定一致,但是它是強制的。空間名和類名首字母大寫,檔名全部小寫。變數 zephir 支援動態型別和靜態型別。變數作為函式返回值時,必須宣告為動態...

PHP 擴充套件開發 Zephir 基礎篇

基本語法 zephir 中,每個檔案都必須有且只有乙個類,每個類都必須有乙個命名空間,目錄結構必須與所使用的類和命名空間的名稱相匹配,這一點和 psr4 的約定一致,但是它是強制的。空間名和類名首字母大寫,檔名全部小寫。變數 zephir 支援動態型別和靜態型別。變數作為函式返回值時,必須宣告為動態...

設計模式 基礎篇

學習 大話設計模式 一書良久,對於其中經典模式的解讀還在進行中,如今暫時對本階段的學習內容做乙個初始概括總結,具體內容如下。一 什麼是設計模式?設計模式是一套被反覆使用 多數人知曉的 經過分類的 設計經驗的總結。二 使用設計模式的目的?為了 可重用性 讓 更容易被他人理解 保證 可靠性。設計模式使 ...