當前位置:首頁 » 編程語言 » php開發規范

php開發規范

發布時間: 2022-09-04 11:03:04

Ⅰ psr 什麼意思

簡單來說psr就是規范了php開發的編碼風格,進行統一規范!

PSR 是 PHP Standard Recommendations 的簡寫,由PHP FIG組織制定的 PHP 規范,是 PHP 開發的實踐標准。
PHP FIG,FIG 是 Framework Interoperability Group(框架可互用性小組)的縮寫,由幾位開源框架的開發者成立於 2009 年,從那開始也選取了很多其他成員進來(包括但不限於Laravel, Joomla, Drupal, Composer, Phalcon, Slim, Symfony, Zend Framework等),雖然不是「官方」組織,但也代表了大部分的 PHP 社區。
項目的目的在於:通過框架作者或者框架的代表之間討論,以最低程度的限制,制定一個協作標准,各個框架遵循統一的編碼規范,避免各家自行發展的風格阻礙了 PHP 的發展,解決這個程序設計師由來已久的困擾。
目前已表決通過了 6 套標准,已經得到大部分 PHP 框架的支持和認可。

Ⅱ php介面開發教程

PHP與大多數面向對象編程語言一樣,不支持多重繼承.也就是說每個類只能繼承一個父類.為了解決這個問題,PHP引入了介面,介面的思想是指定了一個實現了該介面的類必須實現的一系列方法.介面是一種特殊的抽象類,抽象類又是一種特殊的類,所以介面也是一種特殊的類,為什麼說介面是一種特殊的抽象類呢?如果一個抽象類裡面的所有的方法都是抽象方法,那麼我們就換一種聲明方法使用「介面「;也就是說介面裡面所有的方法必須都是聲明為抽象方法,另外介面裡面不能聲明變數(但可聲明常量constant),而且介面裡面所有的成員都是public許可權的。所以子類在實現的時候也一定要使用public許可權實限。
聲明一個類的時候我們使用的關鍵字是」class」,而介面一種特殊的類,使用的關鍵字是「interface」;
類的定義: class 類名{ … } ,介面的聲明:interface 介面名{ …}

代碼
代碼
<?php

//定義一個介面使用interface關鍵字,「One」為介面名稱

interface One
{
//定義一個常量
const constant = 'constant value';
//定義了一個抽象方法」fun1」
public function fun1();
//定義了抽象方法」fun2」
public function fun2();

}

?>

上例中定義了一個介面」one」,裡面聲明了兩個抽象方法「fun1」和」fun2」,因為介面裡面所有的方法都是抽象方法,所以在聲明抽象方法的時候就不用像抽象類那樣使用」abstract」這個關鍵字了,默認的已經加上這個關鍵字,另外在介面里邊的」public」這個訪問許可權也可以去掉,因為默認就是public的,因為介面里所有成員都要是公有的,所在對於介面裡面的成員我們就不能使用「private」的和」protected」的許可權了,都要用public或是默認的。另外在介面裡面我們也聲明了一個常量「constant「, 因為在介面裡面不能用變數成員,所以我們要使用const這個關鍵字聲明。
因為介面是一種特殊的抽象類,裡面所有的方法都是抽象方法,所以介面也不能產生實例對象; 它也做為一種規范,所有抽象方法需要子類去實現。

我們可以使用」extends」關鍵字讓一個介面去繼承另一個介面:

<?php

//使用」extends」繼承另外一個介面

interface Two extends One
{
function fun3();

function fun4();
}

?>

而我們定義一介面的子類去實現介面中全部抽象方法使用的關鍵字是」implements」,而不是我們前面所說的」extends」;

代碼
<?php

//使用「implements」這個關鍵字去實現介面中的抽象方法 介面和類之間

class Three implements One
{
function fun1()
{

}
function fun2()
{

}

}

//實現了全部方法,我們去可以使用子類去實例化對象了

$three=new Three();

?>

我們也可以使用抽象類,去實現介面中的部分抽象方法,但要想實例化對象,這個抽象類還要有子類把它所有的抽象方法都實現才行;
在前面我們說過,PHP是單繼承的,一個類只能有一父類,但是一個類可以實現多個介面,就相當於一個類要遵守多個規范,就像我們不僅要遵守國家的法律,如果是在學校的話,還要遵守學校的校規一樣;

<?php

//使用implements實現多個介面
class Four implemtns 介面一, 介面二, ….
{
//必須把所有介面中的方法都要實現才可以實例化對象。
}

?>

PHP中不僅一個類可以實現多個介面,也可以在繼承一個類的同時實現多個介面, 一定要先繼承類再去實現介面;

<?php

//使用extends繼承一個類,使用implements實現多個介面

class Four extends 類名一 implemtns 介面一, 介面二, ….
{

//所有介面中的方法都要實現才可以實例化對象

………
}

?>

Ⅲ 有什麼好的php的書!!!

PHP 5與Mysql 5 Web 開發技術詳解
本書是目前中文版本第一個真正介紹PHP5及MySQL5新增語法與功能的權威寶典!
本書本著精、全、要三宗旨,從理論中延伸,從實踐中深入,詳實並完善描述了PHP5的開發特性與MySQL5資料庫,如PHP數組與表單處理、PHP5面向對象開發、Ajax、CLI、字元流處理、加密技術、圖片處理及PHP代碼優化,以及存儲過程,游標、事務等進階內容。書中第二部分的開發實例是作者開發的原創作品,該部分內容不僅會令讀者的開發水平有所增進,而且可在案例的基礎上進行二次開發,做出符合自己業務的網站系統。
本書既可作為初學者或剛剛從其他語言轉做PHP開發的程序員和軟體工程師的學習參考書,也可作為掌握PHP5的進階應用及高級知識的案上學習指南。

目錄

第一篇PHP5基礎知識
第1章PHP5概述
第2章PHP5開發基礎
第3章正則表達式
第4章PHP數組
第二篇PHP5核心應用與規范
第5章表單——處理用戶輸入
第6章PHP加密技術
第7章PHP國際化與本地化
第8章PHP開發規范
第9章PHP5面向對象開發
第10章PHP會話管理
第11章PHP輸入輸出緩沖
第12章文件系統與字元流
第三篇MySQL5與PHP5介面
第13章Wed資料庫設計
第14章PHP與MySQL資料庫介面
第15章MySQL5資料庫數據操縱
第16章PHP與MySQL資料庫介面
第17章PHP資料庫抽象
第四篇PHP5進階與技巧
第18章Smrty與模板技術
第19章PHP和Ajax技術
第20章使用PHP編寫Shell
第21章PHP網路開發
第22章PHP文件上傳
第23章圖片與媒體處理
第24章XML與RSS
第25章Wed服務與SOAP
第26章PHP與WAP技術
第五篇PHP5調試、升級與優化
第27章錯誤與異常處理
第28章升級到PHP5
第29章PHP優化技巧
第2部分實戰PHP5
第30章實例開發:會員注冊系統
第31章實例開發:圈子系統開發
第32章實例開發:愛問系統
第33章實例開發:多用戶博客系統
附錄APHP在線資源
附錄BZend Core安裝
附錄CPHP擴展開發
附錄DMySQL字元集與整理
附錄E代碼頁與Charset對照表
附錄Fphp.ini配置詳解
附錄GHTTP返回代碼表(RFC2068)

官方書評:
作者功力深厚,寫這本書也很專心細致,內容很多,寫的非常詳細。涉及到PHP開發方方面面的問題,既有總體把握,又有實現細節,有許多針對日常會遇到的問題、案例,提供可直接應用上的解決方案,又有深入的、循序漸進的描述。解析了PHP5以及MySQL5的技術細節,是一本初學者入門與熟練掌握php,中級php開發者進階的一本好書籍。兼顧到了「工程師」和「程序員」兩種讀者。而且能在phpchina論壇熱心地與大家交流,及時解答PHPer的問題,實為難得。當然,任何事情都不是十全十美,這本書同樣也有一些不足的地方,就是書中一些細節的東西把握不夠好,有不少的錯漏,不過瑕不掩瑜。

Ⅳ 小白如何學習PHP

如何建立PHP網站?做網站的步驟是什麼?本文來介紹下網站建設流程與步驟,該文遵循部分PHP開發規范。 不管使用PHP建立個人站還是企業站,網站建設的流程規范大體是一致的,涉及域名注冊(詳見本站域名知識欄目),伺服器(空間)選擇,了解用戶需求,網站定位,PHP建站程序的選擇與開發等流程。 網站建設流程之域名注冊 域名注冊有一些基本原則,比如域名盡量短小,容易記憶,域名中包括網站關鍵字等,對於企業網站可以以公司名稱或者銷售的核心產品作為域名等,不過我覺得這些並不是最重要的,你可以把它理解為SEO優化技巧,最重要的還是做好網站內容,提供有價值的服務。 網站建設流程之伺服器(空間)的選擇 對於伺服器或者空間的選擇首先是必須穩定,這不但關繫到訪問者的感受,也影響到搜索引擎蜘蛛的感受。對於個人自己建站的朋友或者是草根創業團隊,初期還是推薦使用空間,這樣比較節省開支,切勿盲目選擇伺服器,不但開銷大,維護成本也是不小的。 網站建設流程之網站定位 在完成了域名注冊,空間選擇之後,在真正進行網站開發之前必須對自身網站有一個合理的定位,需要思考網站主要干什麼?網站針對的目標用戶群是誰?網站可以為目標用戶提供什麼?相比其他網站,網站的核心競爭力是什麼?網站發展的中長期目標是什麼?再真正搞清楚這些問題之後再入手才是上策,能避免少走很多彎路。 網站建設流程之SEO規劃與實施 在網站建設之前需要做好SEO規劃和實施的方案,比如網站關鍵字分析,挑選核心關鍵字進行網站標題的優化以及URL規劃、網站框架結構設計等 網站建設流程之網站開發 在進行網站開發之前,肯定是選擇開發語言,對於個人或者中小企業建站,建議選擇使用PHP來進行網站建設,因為PHP作為開源語言,提供了豐富的PHP開源系統,你只要根據自己的需要挑選合適的一款,適當進行一些二次開發就可以了。 特別提醒:對於選用伺服器的,在進行PHP網站開發之前,必須要安裝配置PHP環境(如果是購買的空間一般人家服務商都配置好了),有些PHP開源系統自帶PHP安裝程序,能充分發揮其所有優勢,而對於手工搭建PHP環境的,建議根據選擇的PHP開源系統的特點來搭建PHP運行環境;對於選用空間的,這安裝配置PHP就省略了,但是事先你必須要了解PHP空間本身自帶哪些功能,不支持哪些功能,比如有的空間就不支持ApacheMod_rewrite實現偽靜態。 在經過上述這些網站建設的流程之後,大體上一個網站就建設起來了,這些是個人自己建站的基礎流程和經驗,其實網站建設的流程不止這些,網站建設是一個系統工程,同時也涉及到網站推廣、網站維護的流程等,需要每個人不斷總結和學習。

Ⅳ psr是什麼意思

1、PSR是plan of speed reading的縮寫,就是快速閱讀計劃,快速閱讀計劃在中國稱做全腦速讀。

2、PSR,Point of safety return,中文全稱「安全折返點」,往南極的飛機到這個點,汽油剛好用掉了一半,這時回頭還可以安全降落,一旦越過這個點,就沒有回頭的機會,只能一直往南極飛去。

3、PSR即Periodic Safety Review,對在運核電站現狀的定期審查,是國家核安全局對在運核電站現狀的一個定期審查,其可通過法規HAD102進行。

4、化學反應,全稱Perfectly Stirred Reactor,中文表述為完全攪拌的全混流反應器,該反應器是一個在控制容積內達到完全混合的理想反應器。

5、原邊反饋(PSR)的AC/DC控制技術是最近10年間發展起來的新型AC/DC控制技術,與傳統的副邊反饋的光耦加431的結構相比,其最大的優勢在於省去了這兩個晶元以及與之配合工作的一組元器件,這樣就節省了系統板上的空間,降低了成本並且提高了系統的可靠性。



6、PSR是PHP Standard Recommendations的簡寫,由PHP FIG組織制定的PHP規范,是PHP開發的實踐標准。

Ⅵ php程序員,崗位職責有哪些

php程序員,崗位職責有哪些?

PHP程序員崗位工作職責:

1、負責幫助技術主管開展技術性測評,bug解決,代碼開發;

PHP程序員發展前景:

程序員-系統數據分析員-系統架構師-技術經理-CTO;

程序員-新項目小組長-工程項目經理-項目負責人-CTO;

程序員-工業設計師-產品運營-CTO。

以上就是我的詳細介紹,希望看完對大家有所幫助。大家還有別的意見,可以在下方留言區一起討論。

Ⅶ 今天說一下php多人開發大項目時如何做到代碼規范化

模塊獨立開發。寫好介面,供他人消費。 不是自己的模塊不要插手

Ⅷ 新手入門php要學哪些內容呢

1、WEB基礎

要知道網站是什麼東西,所使用的協議是怎麼工作的,怎樣把網站放在伺服器上。


2、HTMLphp


HTMLphp是嵌入在HTML的語言,所以HTML是必須的。可以用HTML寫出簡單的靜態的頁面,放在本機的伺服器上看看效果。


3、DIV+CSS


能夠用DIV+CSS布局做出漂亮的精美靜態網頁。


4、php基礎


學習php基礎,如php語法,php變數,php流程式控制制,php函數,php數組應用,php字元串處理,php常用模塊,php文件處理,php動態圖像處理,會話控制等,就可以把靜態頁面變成動態的。這個階段比較枯燥,主要是記憶,必須能夠熟練應用。


5、MySQL


網站往往包含大量的信息,這些信息不可能都放在程序(php文件)中,需要MySQL來儲存大量的數據信息。


6、Javascript


掌握了以上內容就可以搭建一個php基礎網站,但是還需要靠Javascript來完成網站的特效和信息驗證等。


7、php高級


作為一個可以上線運營的全功能網站,還要繼續學習php高級知識,如php面向對象,數據抽象層PDO,MEMCACHE,高級SESSION,php的設計模式,MVC,smarty模板,主流框架的解讀等內容,這個階段需要多讀優質的開源代碼,多寫代碼。


8、linux


正如大家所熟知的php較佳的搭配是LAMP(Linux+Apache+MySQL+Php)或LNMP(Linux+Nginx+MySQL+Php),那麼顯然在Linux系統下的php網站比在Windows下兼容性好,基於此我們需要知道在Linux下搭建php環境的方法以及Linux的日常管理命令,以便我們網站的日常管理運營。


9、項目相關


這個階段首先需要了解項目開發流程,需求分析,程序設計說明書,資料庫設計說明書,編碼規范,大流量/大數據架構,MYSQL深度優化,全文索引等內容。


目前為止學到這個階段,已經可以算是php小牛了,要繼續向php大牛進發就需要參與開發大型網站項目,以此練手。北大青鳥http://www.kmbdqn.cn/認為參與大項目開發,實踐為主。通過這階段的學習就可以自主做企業網站、論壇、網頁游戲等。


Ⅸ 如何學好PHP知識

如何學好PHP知識

PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。那麼如何學好PHP知識?以下僅供參考!

具體方法如下:

一,學習Php,首先得熟悉一樣相關html技術並掌握基本的css樣式,這樣就能了解頁面的構成為學習Php打下基礎,W3C學校里有豐富的編程教程,還支持邊寫邊練。

二,學習完html基礎後,接下來就是開始正式接觸php了,但這之前還有一部,那就是配置Php開發環境Php開發環境的配置有很多種方法,不過對於初學者來說大都是採用集成環境wamp啊,phpnow,xampp,apmser直接下載,安裝,再進行一下相關的配置即可環境配置好了,可以邊寫代碼變了解PHP的基本語法運算符啊,邏輯控制啊,數組的操作,字元的操作資料庫連接,以及Mysql查詢。

三,Php基礎需要再不斷的練習中穩固,面向對象編程,對於程序來說是非常重要的了解面向對象編程的意義,類的創建、類的多態、類的集成、類的封裝熟悉MVC架構,(模型model,視圖view,控制器controller)對於開發網站來說是很有必要性的,這確保網站文件放置位置的規范,後期維護網站,找起來也是比較方便。

四,xml和mysql的學習也是必須的Mysql的增刪改查(CURD)操作必須熟爛於心熟悉mysql不同資料庫引擎的差別,以便於根據自身網站需求來建。

五,熟悉cookie和session機制,有利於你更好的把握php會話的`處理。

六,lamp是指在linux環境下搭建的Php開發環境(較wamp環境下,處理快),故而熟悉Linux也是非常很重要的。熟悉smarty能夠幫你快速熟悉使用smarty開發的框架。。

七,php的知識掌握的差不多,接下來可以接觸一些框架CI框架,YII框架,JOOMLA框架ECSHOP框架,ECMALL框架,THINKPHP框架框架能夠幫助你快速的建站。

八,最後,告訴大家如何快速提升自己的php技術。一、在技術性論壇注冊一個賬號,參與討論,查看別人發的代碼二、加入技術群,關注裡面的討論,多看看別人的程序設計思路,用的方法三、多實際操作,不懂就得問。

;

Ⅹ php什麼是PEAR

借著引入PEAR,php的程式開發者除了可以大幅縮減撰寫程式碼的工作與時間外,還可以用很簡單的方式得到許多強大的動態網頁功能,我將會列舉許多的實例,讓大家看了後,一定會啪掌叫好,並深深的迷上了PEAR。此外,程式碼很容易維護,安全性高也是PEAR另2個很吸引人的優點,PAER程式庫宛如模組,可以輕易的抽換與更新,完全不會影響到其他的程式碼。

我們是從最基本的觀念介紹起,包括PEAR這個專有名詞的含意? 在那地方取得PEAR套件(package)? 如何使用PEAR套件等?

從第2章起,我們首先介紹PEAR的起源、歷史與特色,讓大家對PEAR有個基本的認識。

第3章我們將會介紹PEAR程式庫套件的安裝與管理方法,這一章是非常重要的,在使用PEAR之前,必需先把這些基本功夫學好,雖然有點復雜,但是學會之後受用無窮,讓您的PHP程式開發效率倍增,功能隨著遞升。

第4章,是由簡單的範例介紹如何引用PEAR程式庫來開發PHP程序,讓我們了解PEAR的一般使用方法,也為程式庫的使用建立一個基本的操作流程。

在第五章我們將介紹幾個用法簡單又功能強大的程式庫套件的範例,讓大家可以在動態網頁上快速建立一些您以前無法想像而又非常酷的功能,讓您的程式開發功力立刻提高。例如:

◆ 讓網頁可以提供天氣預報的功能,增加網頁的附加價值。

◆ 用很簡單的方法在伺服器上建立網頁的快取(Cache),加快網頁的開啟速度。

◆ 在動態網頁上搜尋某台主機有提供那些PORT號的服務。

◆ 在動態網頁上查詢某個網域名稱(DNS),找出相對應的IP。

◆ 動態產生HTML表格。

◆ 快速建立「客戶回函」系統,讓網頁瀏覽者可以從網頁上寄信給網站管理員。

◆ 讓網頁可以記錄網頁瀏覽者的行為,也就是做Log。

第6章到第13章,我們會很詳細地介紹一些很重要,很常用,但較為復雜的程式庫套件的使用方法,這幾章都是以套件為介紹的主軸,也就是說,一章只介紹一個套件,務求將這幾個重要套件中較為重要功能,詳細地介紹給大家。

這些套件(packages)包括:資料庫連線套件、表單製作套件、身份認證套件、檔案上傳套件、分頁套件等等。

最後,附錄A會對PEAR的網站做詳細的介紹,當您進入PEAR的世界後,您一定會經常來這個網站尋找資料。知道如何利用網站,對於那些PEAR的PHP開發者而言,是十分重要的。附錄B則會對PHP的物件導向程式設計做簡單的介紹。

喜歡和適合使用PEAR者分類如下:

◆ php愛好者,那一定要用PEAR,因為它絕對棒極了。

◆ PHP的專業程式設計員。您需要的是程式碼的安全性,可重復性,以及良好的工作效率,PEAR絕對是必備的。

◆ PHP的程式玩家,想要開發更有趣的,功能更強的應用程式,卻不想被撰寫PHP程式的一些煩惱綁纏,PEAR絕對可以滿足您的要求。

◆ 自己撰寫PHP程式,卻不喜歡每次都要從零開始,一字一字地敲打程式碼,PEAR可以提高您的工作效率。

◆ 您想要學習功能性強,安全性高的PHP,當學會了PHP的基本語法後,可以試著使用PEAR。

◆ 您需要量身定造的PHP應用程式,換言之,您不喜歡像XOOPS之類的套裝應用程式,來試試PEAR吧。

◆ 您需要容易維護的PHP應用程式,不想日後常修改程式碼,或因為PHP的改版而將整個程式重新設計。

◆ 您希望您的PHP程式可以物件導向化,方便程式的抽換與模組化。

◆ 您希望您的PHP功力更上一層樓,想要學習更多的PHP相關知識,透過PEAR的使用或觀看PEAR的原始碼,不失為一個好的學習途徑。

PEAR就是專門為有以上這些需求的人所寫的.。

使用PEAR就像建一座房子一樣。它是讓您用預製件的方式,建一棟自己設計兼施工的大房子,但卻不需要自己攪拌水泥,自己准備沙土、石頭,自己燒磁磚.自己做鋁門窗,自己做木工裝飾等等...。

PEAR就像是已經針對您的需求所訂制好並准備好的預製件,您只需要運用創意將他們組合起來就可以了。

我門在使用PEAR來編寫PHP程式時,必需有一個先決條件,就是必需對PHP的相關知識有一定的認識。

若您不知道甚麼是PHP,什麼是Apache、Mysql,或者您雖然知道,卻還不會PHP的基本語法,那麼,本文章目前並不適合您。建議您快去買些PHP、Apach、Mysql的入門書籍,詳加研讀後,才來看本文章。

大家並不一定要是PHP高手,但一定需要具備看懂基本PHP程序碼的能力。無論如何,首先對PHP的熱愛才是閱讀本書最基本的先決條件。

第二章

PHP有許多的規范與語法,我們不做介紹,請大家有空去閱讀有關PHP的書籍,我們重點介紹的是PHP發展到4.0版以後。加入了物件導向(Object-Oriented Programming Language)的功能,雖然還無法像了Java一樣做到完全的物件導向,但比起前版本PHP3.0已經是一大進步,也對PHP的程序開發者提供了更強大與更方便的開發能力。

PHP 5.0版以上的版本,已經轉變成為徹底的物件導向化,提供了更多完全物件導向功能。我們所介紹的PEAR程式庫對PHP 4.3.0以上的版本是完全的支援。這一點請大家放心。

為了大多數人著想,也考慮到PHP向下的相容性,本書的內容與範例都可以在PHP 4.3.0版以上的環境中執行,因為PEAR完全支援PHP 4.3.0以上的版本,小於PHP 4.3.0版的環境,PEAR大部分也是支援的,只有小部分不支援。

什麼是PHP的物件導向? 物件導向的語法在傳統的PHP程式中較少看到,但若您了解JAVA這種程式語言的話,您應該可以知道什麼足物件導向,我會在附錄B有針對物件導向做簡單的說明。

另外,我要強調的是:PHP除了基本語法外,內建的函式就有超過上千個,橫跨上百種類別,包括文字類函式、數字類函式、資料庫類、圖形類等等,功能相當強大,令人吒舌。但相對於程式開發者,如何善用這些函式,配合PHP的語法撰寫有效又好管理的程式碼,將會是一大挑戰。

在今天,有PEAR這個由全世界眾多頂尖的PHP高手所共同生產的智慧結晶,可以讓我們輕松又有效率地撰寫程式碼,並克服許多撰寫上的困難。以武俠界的例子來說,用PEAR撰寫PHP就宛如數百位武林高手灌注他們的功力給程式開發者。讓程式開發者不用從最基本的練功,扎馬步練起,借用他們的功力就可以很輕松的讓功力倍增,效率倍增。

說了半天,到底什麼是PEAR?下一個單元筆者就來做個介紹。

PEAR這個字單純就字面上而言意思是「梨子」。

一顆梨子。網站的網址為http://pear.php.net

PEAR網站的logo中可以看到例子。

PEAR的開始是從1999年11月2l日。有一位名叫Stig S.Bakken的先生,這位仁兄發起了一個專案,並號召許多的PHP高手來共同投入,他首先為這個專案建立了一些程式碼的基礎規則,希望PHP的開發者加入這個專案時所撰寫的PHP程式碼都需要遵守這些規則。

這個專案名稱就是PEAR,其實是PHP Extension and Application Repository的縮寫,意即「PHP的延續與應用程式庫」,簡單的說,PEAR其實是一個PHP的程式庫。

Bakken先生建立的程式碼基礎如下,我只概略說明一下,並不詳談細節的部分:

◆ 如果開發者要提供PHP程式庫,程式的結構必須物件化。

◆ 程式的縮排要遵循一定的格式

◆ 程式中類別的命名也要遵循一定的格式

◆ 程式碼的註解要有一定的格式

◆ 檔案命名要有一定的格式

◆ 程式庫撰寫完成後要包裝成套件,而套件的包裝與安裝方式,也有一定的格式。

該專案歡迎所有的PHP開發者來共同開發PHP程式庫,只要他們願意遵守上述的程式碼基礎規則。Bakken先生並組織了一組團隊作為這個專案的控制主體,負責審核所有參與專案的開發者所提供的程式庫,若通過審核,就將程式庫分類並放入網站中供其他開發者下載使用,另外,這個團體也負責維護網站的維護與更新。

有些人可能會很好奇,為什麼有人會願意免費撰寫程式庫讓別人來使用呀? 這就是開放原碼世界的精神一互助、共享。試想,若每個開發者針對自己專精的部分開發程式庫給其他人使用,同時也享用別的開發者所釋出的程式庫,是不是可以達到互助的目的,讓每一個開發者共享所有的開發者的成果.不必所有的程式碼都要自己撰寫。

更棒的是,這些程式庫是免費開放給全世界的人使用的,不只參與程式庫開發的開發者可以享用(這種作法與Java或perl提供函式庫的作法是一樣的)。

因此,全世界所有的PHP開發者可以省去許多撰寫程式碼的時間,又因為使用程式庫的開發者可以回報程式庫的缺失給原開發者,原開發者也因此會不斷的修正這些程式庫,所以程式碼相對安全。另外,程式庫開發者也會隨著時代演進,加入新的功能到程式庫中,讓程式庫的使用者可以與時俱進。

詳細情況可參閱PEAR的網站中所提到關於開發PEAR的目的說明:http://pear.php.net/manual/en/about-pear.php。我建議您有時間慢慢地看吧,繼續將本文章看下去,您就會慢慢了解PEAR的神奇之處了。

我在文章的最後有一章附錄:PEAR網站的介紹,大家可以先參考一下。

如果您還不太了解我介紹所謂「程式庫」的意思,沒關系,下一節就會透過實際的例子加以說明。

2-3 所有套件簡介

▓ 程式庫VS套件

介紹所有套件之前,我們必須釐清兩個名詞,以免讀者混淆了,一個就是「程式庫」,另外一個就是「套件」。

假如我是是一個PHP的開發者,發展了一個可以處理所有資料庫存取「程式庫」,並想將這個程式庫加入PEAR分享給全世界使用。當我撰寫完理資料庫的程式庫後,我必須按照PEAR的規定,將程式庫壓縮成一個「件」檔,放在PEAR網站供所有人下載,也由於遵循PEAR的規定來壓縮檔案,這個套件就可以用PEAR的套件管理指令來安裝或管理,這對PEAR使用者而言是相當便利的,關於套件管理指令,我會在下一章做完整的說明經過上述的說明,相信讀者應該了解何謂「程式庫」、何謂「套件」?其實,簡單的說,把程式庫包裝好就變成了套件。

▓ 套件與分類

PEAR截至目前為止釋出的套件已高達三百多個,共分為35大類,而且不斷增加中。大家可以想像全世界的頂尖PHP開發者的結合,是一股多大的團結力量。下圖是網站中套件的分類:

PEAR因為釋出的套件太多了,為了管理上的方便所以依套件的功能將套件做分類,同一類的套件在效果上都有相關性,但提供的功能卻不盡相同小接下來,我將所有的分類用表格的方式做一個簡單的介紹,讓大家多了解一下PEAR套件可以提供哪些功能。

這麼多的分類,每一類都會依功能的不同發展出不同的套件。以第一個認證類為例,若您到網站去看,會發現目前該類中共有8個套件

這8個套件都是與身份認證有相關的套件,如果您想要網頁具有身份認證功能,例如,可以讓網頁瀏覽者注冊、輸入帳號密碼、判別身份、給予許可權等等。就會需要用到這些套件。

我再補充一點:有些套件已發展成熟,開發者會將它稱為穩定(stable)版,但若程式庫尚在發展中,但也已經可以使用,開發者將它釋出,通常會稱為測試版(alpha or beta)版。網站也會記錄套件的開發者與維護者的姓名,有時候一個套件是由許多人共同開發而成的。

這些套件的訊息都可在PEAR的網站中找到,我在附錄〈PEAR網站的介紹〉會介紹如何使用PEAR網站。

2-4 使用PEAR程式庫的簡單範例

在這一節中,我用l個簡單的範例來說明程式庫的使用。

假設您想要製作一個網頁,並且希望知道網頁執行時所耗用的時間,則可以借用PEAR所釋出的名為Benchmark的程式庫。這個程式庫開發出來的目的就是用來計算網頁的執行時間。

首先,先將Benchmark程式庫套件安裝好(安裝方法請參考下一章)。接著我們就可以開始撰寫網頁了,例如:我們建立了一個名為show.php的網頁。

基於說明上的方便,我在每一行程式前面加上行號,大家實際上撰寫程式時是不用加上行號的。

第1行與第2行的程式碼首先引用Benchmark套件中的Timer.php網頁,這個網頁內含計算綱頁執行時間的程式庫。include_once可以將某一個外部的網頁放到這個綱頁來,我稱這個動作叫做「引用」, 本例相當於執行了Timer.php與show.php兩個網頁。

第3行,用new關鍵字建立一個Benchmark_Timer物件,並將該物件放入名為$timer的變數中。接著使用細$timer物件的start( )方法啟動時鍾,然後加上我自己的程式碼,此例中是一行簡單的程式。

接著就是要結束時鍾的計時,計算網頁執行所花費的時間並將它顯示出來。第8行先用$timer物件的stop( )方法來停止時鍾,並用第9行$timer物件的timeElapsed( )方法計算時鍾從啟動到停止中間的時間差,並將計算結果放入$totaltime變數中。

最後用echo函式顯示時間差在網頁上。

由結果可清楚看到show.php網頁從開始執行到執行完畢總共花了0.00013613700866699秒,以後可以藉由觀察這個數字來判斷系統效能,或做為程式碼改進的參考。如何,執行時間的計算是不是方便、快速又神奇呢!

如果您需要在其他網頁上也可以有計算網頁的執行時間的功能,只要用上述方式套用在其他PHP網頁上就可以了。

事實上,其他套件的使用方式也跟這個套件的使用方式大同小異.差別只是在每個套件所提供的類別、方法以及使用的參數各有不同而已。

套件雖然好用,但相信讀者還是有許多的疑惑? 例如:

1. Benchmark程式庫套件是怎麼來的?要有哪些前置工作才可以使用它?

2. 我是如何知道使用Benchmark套件的方法?

第1個問題牽涉到如何安裝PEAR套件,以及安裝後套件的管理、升級、刪除等問題,我會在第3章加以介紹。第2個問題,筆者會在第4章針對如何使用套件、如何得到套件的資訊等做一個詳細的說明。

2-5 為何要用PEAR

為何要使用PEAR? 我根據自己的心得,歸納出以下幾點:

1. 省時省力:許多程式碼都被撰寫在程式庫中,開發者只需引用含程式庫的PHP檔,就可以擁有程式庫所提供的功能,省去自行撰寫的時間與精力。

2. 安全:由於這些程式庫套件都將原始碼公開,使用者若發現bug,可以立即向套件的開發者反映,開發者通常也會立即加以修正,讓程式庫的錯誤減到最小。

3. 容易維護:自行撰寫的程式碼與PEAR程式庫的程式碼分開,若PEAR套件因為有新功能被開發或修正錯誤而釋出新版本,只需更新套件即可,完全不會動到自行撰寫的程式碼。

4. 功能強大:PEAR套件所提供的功能非常之多,除了一般常用功能如:資料庫的連結、設定檔的處理、身份的認證、以及表單的處理。另外,較為進階的功能,例如像網路郵局、網路管理、動態方式產生圖形、RSS、Wiki,或者像phpBB的BBCode解析等等都可簡單做到。

5. 讓網頁的程式開發與版面設計分開:PEAR提供許多樣板的程式庫,可讓程式開發與版面設計分開,方便於程式開發者與網頁設計者分工合作。

6. 對學習PHP者是一套絕佳的學習範例:程式庫的註解說明十分詳細,程式碼的撰寫,具有一定的規則與格式,而且完全物質化,讓開發者容易看懂並學習。有些套件還內附教學文件與範例擋,最重要的是:你不用花半毛錢就可得到,我們應該感謝套件的作者們,他們為我們付出了無私的貢獻。

2-6 為什麼要建立PEAR社團

是什麼原因促使全世界的PHP開發者大團結,共同開發出PEAR這個程式寶庫呢? 我就認為有以下幾個原因:

1.遭受其他競爭者的強大競爭:這一點第1章已經說明過了。

2.PHP的物質化:從PHP4加入物質導向的功能後,PHP5更是進一步物質化。除了要與ASP.NET、JSP一拼外,就是方便於程式的模組化,讓程式庫的開發可以進行,有了物質化的功能,程式庫才可以與開發者自行撰寫的程式碼切割。

3.開發者的共同需求:如果每一次開發PHP程式,都要從無到有完全自己來,雖然可以鍛鍊程式功力,但卻沒有效率,也不甚經濟。若一些常用的功能可以用程式庫的方式來處理,將可以解決許多開發者的困難。基於這種所有開發者都共同擁有的需求,讓這些PHP的開發者分工合作,共同發展程式庫,幫助自己也幫助別人。

2-7 PHP的競爭者與優缺點

PHP是在1994年發展出來的,經過四次主要的改寫,成為我們今天所看到的可以廣泛應用且成熟的產品。到2005年四月為止,PHP已經運用於全球超過1900萬個網站上,而且這個數字還在持續快速成長中。

PHP與他們的競爭對手相比,他具有以下優勢:

高效能:不是我黃婆賣瓜,哈哈。.., 我閱覽過許多Asp.NET與Jsp的網頁,效能上實在無法與PHP相比。(Asp.NET與Jsp的使用者應該不會看這篇文章吧)。

● 可以與許多不同的資料庫系統相連結:其他的競爭者也可以,但沒有PHP快。

● 易學易用:PHP的程式碼的寫法非常直覺,容易學習。

● 支援物件導向:這方面Jsp是強項,但PHP5已經追上來了。

● 低成本:根本不用錢。

● 內建非常多的函式庫:記得筆者以前使用Asp,內建的函式庫實在少的可憐。

● 開放原始碼:安全性會比沒有開放的高。

● PEAR程式庫:這是最近的強力武器,用來與強敵們一爭長短。

● 可攜性:無論是各類Unix作業系統,如:Linux,FreeBSD,商業版Unix或Windows作業系統都可以使用PHP。

Asp.NET與Jsp當然也有他們獨特的優點? 例如,Jsp夾帶JAVA強大的功能,它就可以呈現一些目前PHP無法做到的效果。所以Jsp也吸引了許多的使用者,但筆者對Jsp目前的效能實在還不甚滿意,相反地,對PHP的快速度滿意的不得了。

使用哪一種程式,就由您自行做明確的抉擇,不過,若您選擇觀看文章,相信我們應該都是同道中人,PHP的愛好者。

總而言之,許多PHP高手共同構築了一個強大的支援網,若您是PHP的程式開發者,卻對這些高手的好意毫不領情,那不是太可惜了嗎?

熱點內容
我的世界伺服器等級如何升 發布:2025-01-15 12:45:55 瀏覽:687
c語言程序填空題 發布:2025-01-15 12:45:53 瀏覽:543
怎麼配置氯化鈉濃度 發布:2025-01-15 12:34:06 瀏覽:205
4000除以125簡便演算法 發布:2025-01-15 12:27:41 瀏覽:463
源碼商用 發布:2025-01-15 12:26:54 瀏覽:74
價錢演算法 發布:2025-01-15 12:26:03 瀏覽:400
蘋果手機安卓功能在哪裡 發布:2025-01-15 12:21:34 瀏覽:786
伺服器地址埠名稱怎麼找 發布:2025-01-15 12:15:32 瀏覽:705
怎麼把電腦程序改安卓 發布:2025-01-15 12:13:52 瀏覽:576
安卓如何設置格子 發布:2025-01-15 12:02:11 瀏覽:936