今天在翻看PHP手册的时候发现了“GTK 窗口对象”的叫法,难不成这是GUI窗口?于是开始百度,还真是!!!
原来PHP在php4的时候就已经支持了GUI,我曾经还想使用PHP开发桌面应用,但是没有找到一个解决方案。
对于 PHP4, PHP5 使用的是php_gtk2扩展以及其他依赖,
官方网站:http://gtk.php.net/download.php?language=en-US
参考文章:https://www.cnblogs.com/jwcrxs/p/8796007.html
对于PHP7,使用的是php_ui扩展和其他依赖。
参考文档:https://www.php.net/ui
扩展下载:https://pecl.php.net/package/ui
此处使用php7来作为演示
1、下载扩展
根据本地phpinfo下载对应版本,我本机的php为 php-7.1.13-nts x86
,
所以下载 7.1 Non Thread Safe (NTS) x86
解压,可以看到几个文件
php_ui.dll --> 放到 ext 目录下
libui.dll --> 放到 php.exe 同级目录作为程序扩展
pthreadVC2.dll --> 放到 php.exe 同级目录作为程序扩展
同时还看到四个示例代码文件,将它们拷贝到 D:\dev\php\gui
修改php.ini加入 extension=php_ui.dll
我们在cli模式下运行。
cd D:\dev\php\gui
贪吃蛇
D:\phpStudy\PHPTutorial\php\php-7.1.13-nts\php.exe snake.php
玩法:先按上下左右键,然后按空格键走动一步。
趋势图
D:\phpStudy\PHPTutorial\php\php-7.1.13-nts\php.exe histogram.php
点状星空
D:\phpStudy\PHPTutorial\php\php-7.1.13-nts\php.exe starfield.php
滚动滚轮来改变星空分布。
设置框
D:\phpStudy\PHPTutorial\php\php-7.1.13-nts\php.exe gallery.php
以上几个例子是扩展包带的,github上有一个改进版的例子。https://github.com/krakjoe/ui
下载下来演示。