2010-05-07 32 views
3

我已經研究過設計模式,並希望使用它們來編寫開源庫(而不是應用程序)。寫入php庫的指南?

但我從來沒有編碼的圖書館前,不知道我應該包括的文件,我應該有加載一切還是應該每類加載自己的類,它們依賴於等引導文件

有沒有任何教程在從開始到芬蘭語的PHP編寫庫?

感謝

+3

沒有太多的答案,而是一個普遍的建議:一個好的地方,從其他開源庫。如果你發現一個有信譽的項目,你很可能會有一個很好的例子來建立你的開源庫。祝你好運! – 2010-05-08 03:26:10

回答

3

我不能指向你的教程,但有一個即插即用庫是擁有每類文件一類,讓用戶使用__autoload選擇最簡單的方式只需實例化您的類而不必更改其現有代碼中的任何內容。這種方式對大多數開發人員來說是最容易獲得

此方法仍允許您創建一個包含所有其他類文件的「獨立」包含文件。

其他選項包括將其製作成PEAR包或要求用戶將文件放入包含路徑中。然而,對於那些無法訪問除自己的public_html文件夾之外的任何人(例如共享主機)的人來說,這並不是最佳選擇。

+0

我假設你是PEAR,而不是PERL。 – 2010-05-07 23:43:54

1

我給你指出了Zend Framework。您可以將其用作整個框架,但也可以使用選定的組件。是的,我認爲對圖書館而言,自動加載是關鍵。

1

如果你的庫做字符串任何檢查或處理,想想自己是否註定要的字節文本字符字符串的字符串,如果是後者,只使用multibyte string功能與他們,不是普通的PHP字符串函數。否則,您的圖書館將無法用於需要處理Unicode文本的人員。

2

你應該看看Solarphp Framework。它像每個其他框架一樣解決一些標準問題,例如自動加載,依賴注入等等。我從中學到了很多關於編寫好的PHP代碼的知識。如果您有任何疑問,請聯繫freenode

-1

有許多PHP框架可用,它們可以幫助您構建庫文件。 但是,我總是喜歡MVC,比如具有更多全局接受格式的鉤子函數的模型。下面的幾個例子...

 
# o  = Object 
# r  = Return 
# a  = Array 
# e  = Element 
# g = Global declaration 
# hook = a function which can be used for hooking with other functions 
# call = a function which can be used for making call from client to server system 
# sync = a function which can be used for SYNC