PHP的開源世界可謂相當精彩,其中大家也接觸的不少著名的PHP開源項目,比如Drupal、Sugar CMS、Joomla等等,但在本文中,筆者將選取9個最新知名度不是太高,但可在某些方面很實用,目前還在發展階段,很有潛力的PHP開源專案。相信各位讀者看了之後會驚嘆:原來PHP還能做這麼多事情。
1、PHP FOR Android
現在,iphone和Android大行其道,擁有它們已經成為一種潮流。而Android的市佔率也變的越來越大。
而現在除了可以用JAVA來編寫Android應用程式外,還多了一種選擇,那就是可以使用PHP去編寫相關的Android應用了,這都要歸功於一個開源專案Php For Android( http://phpforandroid.net/)。它實際上是利用了另一個開源專案Scripting Layer for Android(SL4A)( http://code.google.com/p/android-scripting/)提供的Android介面API去實現的,任何支援SL4A的腳本語言(例如Javascript,Ruby, Perl,PHP,和Python)都能夠透過介面直接跟作業系統打交道,編寫應用程式。
如果想了解這個項目,可以閱讀如下的這篇文章《Build Your First PHP for Android Application》。
2、PL/PHP
某些資料庫任務涉及複雜的邏輯計算,而不是簡單使用幾句SQL語句就可以解決問題。為了降低其複雜性,許多資料庫的解決方案中提供了預存過程,它在一個子程序中封裝了要完成任務的邏輯,這些子任何的功能其實就像PHP中的函數一樣。
預存程序可以用對應的SQL去寫的,如微軟的預存程序使用T-SQL,Oracle則採用PL-SQL。例如PostgreSQL資料庫能執行由C,C ,Java,Ruby,Perl,Python編寫的預存過程,而有了PL/php 開源專案(https://public.commandprompt.com/projects/plphp/wiki),現在你可以使用PHP去寫預存程序了。
當安裝了PL/PHP專案後,你就可以在PostgreSQL下執行使用PHP編寫的預存程序了,可以使用你熟悉的PHP語法,十分簡單。
3、PHP-QT
PHP-QT專案(http://developer.berlios.de/projects/php-qt/)允許你使用PHP語言去寫實作QT的功能,也就是說,可以用PHP-QT去寫一些功能強大的桌面應用程式。所謂QT是一個跨平台的C 圖形使用者介面應用程式框架。它提供給應用程式開發者建立藝術級的圖形使用者介面所需的所用功能。 Qt是完全物件導向的,很容易擴展,並且允許真正地組件編程。
但有點遺憾的是,這幾年這個計畫的發展有點遲緩了,如果確實有興趣的話,建議也去研究下PHP-GTK這個計畫(http://gtk.php.net/ )
4、Phuby
最近,Ruby核心團隊成員Aaron Patterson完成了phuby,它可以在Rails應用下運行php應用程式。專案的地址在https://github.com/tenderlove/phuby,儘管專案主持人Aaron發布了幾個影片去證明phuby能讓php在Rails下運行,但實際上在Rails社區中,估計phuby也只是一個實驗品而已。
5、另外一個phuby
Sean Huber也發布了另外一個同名的項目,居然也叫phuby,但這個跟上面介紹那個是完全沒任何關係的。專案地址在https://github.com/huberry/phuby。這個專案為php增加了幾個有趣的功能,而只需要在php中設定include_path指向phuby的函式庫位置就可以了。雖然這個計畫還是處在比較初級的階段,但其實它已經是綜合了php和ruby的一些特點了。
6、Objective-PHP and Moka
Objective-PHP and Moka are two ambitious projects headed by Stephen Lerodiaconou. ThttpsObjectivePHP(://https github.com/stevegeek/moka)和Moka(https://github.com/stevegeek/moka)這兩個項目是由Stephen Lerodiaconou.帶領研發的很有野心的項目,他們為PHP語言增加了Object-C語言和Cocoa framework(註:Cocoa是Mac OSX作業系統開發語言)。它們專案中的文件宣稱這些新功能能吸引原來的Capucchino開發者。
你可以觀看這個影片(http://vimeo.com/9838953)去了解這兩個框架。
7、Php-serial
你想透過編寫php語言去操縱如視頻,音頻或計算機的串並口設備?現在是可以變成現實了。使用php-serial這個開源專案(http://code.google.com/p/php-serial/),可以很容易地去實作。例如只要呼叫deviceSet()方法,將串口名傳遞進去就可以了,接著就可以使用簡單的讀和寫的方法了,比如:
<ol class="dp-c"> <li class="alt"><span><span><? </span></span></li><li><span>deviceSet(</span><span class="string">'COM2'</span><span>); </span></li><li class="alt"><span class="vars">$seria</span><span>-->deviceOpen(); </span></span></li> <li> <span class="vars">$serial</span><span>->sendMessage(</span><span class="string">'Sending a message to the port!'</span><span>); </span> </li> <li class="alt"> <span class="vars">$serial</span><span>->deviceClose(); </span> </li> <li><span>?> </span></li> </ol>
8、Apns-PHP
在蘋果的作業系統3.0以上,你可以享受到蘋果的推播訊息的服務,簡稱Apple Push Notification Service(APNS),及時獲得各類有用的資訊。
現在,你可以使用PHP去實現這個功能了,apns-php專案提供了這個功能,專案的地址在http://code.google.com/p/apns-php/,該專案的文檔宣稱APNS API在2010年的12月17日已經完成了,可以提供自訂提醒圖片和本地化的按鈕等新功能。
有一篇很好的入門導學文章指導你對apns-php的學習(http://blog.boxedice.com/2009/07/10/how-to-build-an-apple- push-notification-provider-server-tutorial/)
9、CFPropertyList
cocoa框架使用屬性清單來管理序列化資料。這些屬性清單可以透過Apple的如plutil等工具進行設定。然而有的開發者希望用他們熟悉的方式去管理這些數據,目前有不少開源專案可以實現這個目的,例如CFPropertyList就是其中之一,專案地址在:
https://github. com/rodneyrehm/CFPropertyList,它允許PHP開發者可以建立屬性列表,之後再傳送到iPhone應用程式。
http://publish.itpub.net/a2011/0119/1151/000001151724.shtml
http://www.bkjia.com/PHPjc/445849.html