2019独角兽企业重金招聘Python工程师标准>>>
在很多人眼里,php只是web开发用,其实php也可以开发命令行程序和桌面程序。
为什么要用php开发命令行程序和桌面程序?
因为php好用易学开发快! 一种语言能够操纵文件,控制输出,访问网络,调用其他程序其他库,访问设备,多线程,正则……拿来写命令行程序就能满足许多需求。然而常用来写命令行程序的C,perl,python等相对php难以掌握,php语言设计得非常友好,不但语法陷阱少,而且命令行程序常需要的功能用php会十分畅快,例如file_put_contents和curl等。
桌面程序与命令行程序,对开发者的区别主要在于桌面程序要额外开发一套界面。这套界面表面简单实际会涉及各种操作系统的屏幕绘制,多线程控制,各种句柄资源内存处理消息通讯等一堆复杂事儿,所以没有足够强大的技术投入和非常优雅的设计,桌面程序是很费开发成本且很难让用户满意的,因此即便像php这样用起来很快畅的语言,在桌面程序问题上人们往往也是望而却步。
然而富有创造力的人们不断在挑战这一领域。以前有phpGTK(http://gtk.php.net/ ) ,但gtk是本身有局限性的。像我这种喜欢在window下的就不太愿意尝试。。
最近获悉又有wxphp(http://wxphp.org/)和phpQt( http://sourceforge.net/projects/php-qt/?source=recommended) ,因为个人以前就熟悉wxwidget所以今天尝试了下wxphp。
如何使用wxphp开发桌面程序?
wxphp(http://wxphp.org/)是跨平台库wxWidgets (常用于开发桌面程序)的php版。我们可以使用它来开发桌面程序。
首先我们去wxphp的官方主页(wxphp.org) 下载wxphp,我下载的是windows版本的。
安装后,进入其目录,可以看到example,doc和php三个子目录,以及shell.bat和setenv.bat两个批处理文件。
doc是wxwidget的介绍(这个去wxwidget官网看api或者搜本《用wxwidget跨平台GUI编程》电子书也可)
php是此程序自带的php,和一般我们用的php区别不大,只是注意里面扩展多了个php_wxwidgets,它是实现wxwidget+php的关键。
examples是自带例子。我们运行一下这些例子看?
双击shell.bat,然后输入wxphp examples\grid.php,回车,一个带单元格的桌面小程序出来了,很简单吧?
如果要进一步尝试,就要熟悉下wxwidget各控件了,这东西很友好,很像java的swing。菜单,对话框等new一个出来设置设置属性,操作的时候调用下方法就好。