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. TObjective-PHP(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()方法,将串口名传递进去就可以了,接着就可以使用简单的读和写的方法了,比如:
<?php deviceSet('COM2'); $seria–>deviceOpen(); $serial->sendMessage('Sending a message(www.phpernote.com) to the port!'); $serial->deviceClose();
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的学习:
9、CFPropertyList
cocoa框架使用属性列表来管理序列化数据。这些属性列表可以通过Apple的如plutil等工具进行设置。然而有的开发者希望用他们熟悉的方式去管理这些数据,目前有不少开源项目可以实现这个目的,比如CFPropertyList就是其中之一,项目地址在:
https://github.com/rodneyrehm/CFPropertyList
它允许PHP开发者可以创建属性列表,之后发送到iPhone应用。