用PEAR來寫你的下一個php程式(潘凡Night Sailer)(1)

來源:互聯網
上載者:User

簡介:這是用PEAR來寫你的下一個php程式(潘凡Night Sailer)(1)的詳細頁面,介紹了和php,有關的知識、技巧、經驗,和一些php源碼等。

class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=323741' scrolling='no'>

本文轉自:http://www.cn.ibm.com/developerWorks/linux/sdk/php/pear1/index.shtml

潘凡(Night Sailer) (nightsailer@hotmail.com)

北京賽迪網資訊技術有限公司

2001 年 6 月

你可能已經是個PHP的老手了,寫了很多非常棒的代碼。但是,如果你現在要把它們加入到你現在

的項目中去,是否有些吃力?你的朋友想使用你的代碼作為他的項目中的一個模組,但是你發現

你們使用了截然不同的編碼風格,讓他適應,甚至不如重寫一個!

請跟我來,使用PEAR標準編寫你的PHP程式吧,你的程式將會擁有更大的活力,你的程式和代碼將

會很方便地和其他高手的代碼融合在一起,PEAR就象CPAN對於PERL一樣,會讓PHP產生更高的能

量。

什麼是PEAR 

PEAR是PHP擴充與應用庫(the PHP Extension and Application Repository)的縮寫。

它是一個PHP擴充及應用的一個代碼倉庫,簡單地說,PEAR就是PHP的CPAN。

為什麼要使用PEAR? 

PHP是一個非常優秀的指令碼語言,簡潔、高效,隨著4.0的發布,越來越多的人使用它來進行動態

網站的開發,可以說,PHP已經成為最優秀的INTERNET開發語言之一,尤其對於那些需要能夠快

速、高效地開發中小規模的商業應用的網站開發人員,PHP是其首選的語言。但是隨著PHP的應用

的不斷增多,對於這些應用缺乏統一的標準和有效管理,因此,PHP社區很難象PERL社區的人們

那樣方便的共用彼此的代碼和應用,因為PHP缺乏象CPAN那樣的統一的程式碼程式庫來分類管理應用的代

碼模組(熟悉PERL的人都知道,CPAN是一個巨大的PERL的擴充模組倉庫,編寫的應用模組可以放

在CPAN下面的適當的分類目錄下面,其他的人可以很方便地複用,當然,你編寫應用模組時候也

需要遵守其中的準則。)

為此,PEAR就應運而生了,並且從4.04開始,隨著PHP核心一起被分發。

PEAR能給我帶來什麼好處? 

1.如前所述,PEAR按照一定的分類來管理PEAR應用程式碼程式庫,你的PEAR代碼可以組織到其中適當的

目錄中,其他的人可以方便地檢索並分享到你的成果。

2.PEAR不僅僅是一個代碼倉庫,它同時也是一個標準,使用這個標準來書寫你的PHP代碼,將會增

強你的程式的可讀性,複用性,減少出錯的幾率。

3.PEAR通過提供2個類為你搭建了一個架構,實現了諸如解構函式,錯誤捕獲功能,你通過繼承就

可以使用這些功能。

PEAR的編碼規則 

PEAR的編碼規則包括縮排規則,控制結構,函數調用,函數定義,注釋,包含代碼,PHP標記,文

件頭的註解區塊,CVS標記,URL範例,常量的命名這11方面。下面簡要地介紹一下:

縮排規則: 

PEAR中需要使用4個空格來縮排代碼,並且不使用TAB。如果你使用VIM,將下列設定放入你的

~/.vimrc中: 

set expandtab

set shiftwidth=4

set tabstop=4

 

如果,你使用Emacs/XEmacs,需要把indent-tabs-mode 設定成nil。

不過你象我一樣喜歡用(X)Emacs編輯PHP檔案,我強烈推薦你安裝PHP-MODE,這樣當你編寫PEAR代

碼的時候,它會自動調整你的縮排風格,當然PHP-MODE還有許多很優秀的特性,你可以從資源列

表中的地方下載最新版的PHP-MODE。

控制結構: 

這裡所說的控制結構包括: if for while switch 等。對於控制結構,在關鍵字(如if for ..)

後面要空一個格,然後再跟控制的圓括弧,這樣,不至於和函數調用混淆,此外,你應該盡量完

整的使用花括弧{},即使從文法上來說是可選的。這樣可以防止你以後需添加新的程式碼時產生

邏輯上的疑惑或者錯誤。這裡是一個範例: 

if ((條件1) && (條件2)) esleif ((條件3) ││ (條件4)) else 

 

函數調用: 

對於函數調用,函數名和左括弧( 之間不應該有空格,對於函數參數,在分隔的逗號和下一個參

數之間要有相同的空格分離,最後一個參數和右括弧之間不能有空格。下面是一個標準的函數調

用; 

$result = foo($param1, $param2, $param3);

不規範的寫法:

$result=foo ($param1,$param2,$param3);

$result=foo( $param1,$param2, $param3 );

 

此外,如果要將函數的返回結果賦值,那麼在等號和所賦值的變數之間要有空格,同時,如果是

一系列相關的指派陳述式,你添加適當的空格,使它們對齊,就象這樣: 

$result1 = $foo($param1, $param2, $param3);

$var2    = $foo($param3);

$var3    = $foo($param4, $param5);

 

函數定義: 

函數定義遵循"one true brace"習俗: 

function connect(&$dsn, $persistent = false)

 else 

    if (!$dsninfo ││ !$dsninfo[’phptype’]) 

    return true;

}

 

如上所示,選擇性參數要在參數表的末端,並且總是盡量返回有意義的函數值。

關於注釋: 

對於類的線上文檔,應該能夠被PHPDoc轉換,就象JavaDoc那樣。PHPDoc也是一個PEAR的應用程

序,更詳細的介紹你可以去 http://www.phpdoc.de/ 查看。除了類的線上文檔,建議你應該使用

非文檔性質的注釋來詮釋你的代碼,當你看到一段代碼時想:哦,我想不需要在文檔裡去仔細描

述它吧。那麼你最好給這段代碼作一個簡單的注釋,這樣防止你會忘記它們是如何工作的。對於

注釋的形式,C的 /* */和C++的//都不錯,不過,不要使用Perl或者shell的#注釋方式。

包含代碼: 

無論什麼時候,當你需要無條件包含進一個class檔案,你必須使用requre_once;當你需要條件包

含進一個class檔案,你必須使用include_once;這樣可以保證你要包含的檔案只會包含一次,並

且這2個語句共用同一個檔案清單,所以你無須擔心二者會混淆,一旦require_once 包含了一個

檔案,include_once不會再重複包含相同的檔案,反之亦然。

PHP代碼標記: 

任何時候都要使用<?php ?>定義你的php代碼,而不要簡單地使用<? ?>,這樣可以保證PEAR的相容

性,也利於跨平台的移

愛J2EE關注Java邁克爾傑克遜視頻站JSON線上工具

http://biancheng.dnbcw.info/php/323741.html pageNo:15

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.