PHP开发Windows圆桌面应用程序实例
Jun 13, 2016 am 11:02 AM
PHP开发Windows桌面应用程序实例
PHP_GTK2.0 开发桌面应用程序
php gtk 官方网站
http://gtk.php.net/
官方有gtk的中文手册 具体安装请参见 手册
更简单的方法是用另外一款软件 名字叫做gnope
下载地址:http://www.gnope.org/download.php
安装过程很简单 安装好之后 在桌面会有个PHP-Gtk2 Applications 的快捷方式图标
双击该图标 会出现一个php的桌面程序 里面列出了所有的demo 有控件演示 还有游戏(前提是安装时选择了安装游戏)
应用详细讲解:
http://www.16ec.com/tp15/site/index.php和http://blog.csdn.net/zhangking/archive/2010/08/20/5825416.aspx
看过这些程序 你是不迫不及待要自己莱写一个桌面应用程序了啊
下面就给出一个简单的登陆程序:
?
1 |
|
?
在 Windows 上安装使用 Gnope
使用 Gnope 在 Windows 上安装和维护 PHP-GTK 2 已经被证明几乎是最简单的方法。 Gnope 是全功能的 PHP-GTK 2 安装包,包含 PHP 5.1、GTK 2.6 和 PEAR。 简单的点几下鼠标你就可以安装完成!
只要从 gnope.org 下载安装包,并跟随屏幕上的指引。 Gnope 也拥有它自己的 PEAR 自动安装频道, 那里你可以下载 PHP-GTK 2 程序添加到官方的 PEAR 包中。 例如从 Gtk2 category。
手工安装
从PHP-GTK 2 下载页面下载PHP-GTK 2 的针对 Windows 的 Alpha 版本二进制发行包。解压缩文件到指定目录。一个名为 php-gtk 的目录将会创建,并包含发行版的所有内容。
你需要 php.exe(CLI 版本)和php5ts.dll,这两个都可从 PHP 5 的Windows 发行版中获得, 并且放置到 php-gtk 目录。如果你希望使用这个 php.exe 的其他扩展,请确保你已经存放二进制文件于此。
之后,你必须设置环境变量 PATH 包含发行包中的 gtk+2.6.9目录。 你也可以让批处理文件 gtkpath.bat 在运行时设置适当的 PATH 变量用于当前命令行会话中。
从 CVS 编译
这里仅仅包含在 Windows 上安装 PHP-GTK 2 最主要的步骤。如果你希望了解更多内容,请从 CVS 上获取 win32/README.win32.txt 并阅读。
from: http://gtk.php.net/manual/zh_cn/html/tutorials/tutorials.installation.windows.html
=============
WinBinder让phper可以在window系统开发桌面软件
WinBinder 是一种开源的 PHP 动态扩展(.dll),也算是脚本编程语言,为php在window下的开发提供用户界面UI,它负责调用window的API接口。其运行 PHP程序员轻松地使用 PHP 创建 Windows 应用程序。当然,这个只能在 Windows 下运行。本身是一个软件,php程序员可以通过这个软件开发界面。官方网站说得很不错,无须编译php.只要保存文件扩展为.phpw,然后用 php.exe打开就可以运行。具体开发感受如何,要试验一下才知道。初步感觉不会比php-gtk差。
可以在此处下载到 WinBinder 的包, 下那个 .zip 包,一般不需要用 .exe 的。下完之后解压缩,将 winbinder_xxx\PHP\PHP4\ext目录下的(如果用的是 PHP5 则复制 PHP5 目录下的) php_winbinder.dll 复制到 PHP 扩展目录下,一般在 C:\php\extensions,然后修改 php.ini 文件,加上:
extension=php_winbinder.dll
然后到打开命令行(cmd),进入到 winbinder_xxx\Code\Samples 目录下,运行:
C:phpcliphp.exe manytests_main.phpw
这样就可以看到 Windows 窗口了,测试用的例子很多,可以都试试。我试了一下中文,还是支持得不错的,想想也是,WinBinder 是通过扩展的方式,加载到 PHP 中,其调用的都是 Windows 的 APIs。实际上可以将 WinBinder 分为两层,一层是底层,叫 API 层,作为 PHP 扩展直接连接 Windows 的 API,并为第二层(高层,叫 PHP 层)提供统一的调用接口。
Hello, world 代码示例
include("../inc/winbinder.php");???????????????????????????????// 包含 WinBinder PHP 库文件
wb_create_window(NULL, PopupWindow, "Hello world!", 480, 320); // 创建 Windows 应用程序
wb_main_loop();????????????????????????????????????????????????// 进入消息循环
?>
?
winbinder的安装版的安装与配置
首先去http://winbinder.org/files/WinBinder-0.46.0.exe下载winbinder,这是一个安装版的,下载后双击安装。
1、next
?
2、next
?
3、选择安装路径然后next,这里我选择的是d;/winbinder
?
4、选择php的版本,我这里的是php5.1
?
5、选择下载的服务器,选择台湾比较快(又只有台湾的选项而没有中国的,气愤)
?
6、next
?
?7、install
?
8、等待
?
?
9、安装完成后点确认就行了。可以做第10步了。 ?
10、安装好后打开D:\WinBinder\phpcode\examples,任找一个.phpw扩展名的文件,选择打开方式为D:\WinBinder\binaries\php51\php-win.exe。
?
现在已经可以运行以.phpw为扩展名的文件了。例如
这里要讲解几个问题
1:我们可以选择的打开方式有三种,分别是php.exe php-win.exe php-cgi.exe如果打开方式选择的是php-cgi.exe
那么在运行的时候,就会有一个命令提示符窗口出现,在实际应用中这个窗口也许看来很多余,但是在调试的时候可是很有用的哦
他能够提示你程序中有哪些错误。
2:刚才我们选择的打开方式为D:\WinBinder\binaries\php51\下的.exe文件,可能有朋友要问了,为什么不能选择本机中已经 安装好的php(假设是D:/php)文件夹下的.exe文件呢?其实是可以的,但是这里有一个问题,如果选择php文件夹下的.exe文件,那么它使用 的是c:\windows下的php.ini配置文件,这样的话winbinder运行时加载的.dll文件,实际上是D:/php/ext/文件夹中的 文件。所以这个时候需要把php.ini中的extension_dir设置为./ext因为ext文件夹是和.exe文件在同一文件夹中的(即 D:\php文件夹)。然后还需要把D:\WinBinder\binaries\php51\ext中的php_winbinder.dll文件放到 D:\php\ext中,然后相应的在c:\windows下的php.ini文件中加上extension=php_winbinder.dll。另外如果需要使用相应的库文件的话,需要在php.ini中对应的文件名前的;号去掉,这个我想大家都知道吧。
如果选择打开方式为D:\WinBinder\binaries\php51\下的.exe文件则就没有这么麻烦,它使用的是D:\WinBinder \binaries\php51\下的php.ini文件,你可以不作任何的配置就可以使用,但是他只默认支持mysql和sqlite这两个库,如果你 希望使用其他的库例如gd那么就需要修改D:\WinBinder\binaries\php51\下的php.ini文件,然后把对应的库文件(例如 php_gd.dll)放到D:\WinBinder\binaries\php51\ext下。

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

Bybit Exchange의 최신 버전을 업데이트하는 방법은 무엇입니까? 업데이트되지 않으면 영향이 있습니까?

DeepSeek 웹 버전 입구 DeepSeek 공식 웹 사이트 입구

PI 노드 교육 : PI 노드 란 무엇입니까? Pi 노드를 설치하고 설정하는 방법은 무엇입니까?

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법

Coinsuper Exchange 소프트웨어 채널 공식 웹 사이트 입구

没有优点
但http://www.gnope.org/download.php无法访问
还望楼主不吝赐解。
我觉得 PHP 似乎更适合做 Web 这类“无状态”通讯,因为请求结束可以回收所有资源。
PHP 虽然和 Python 一样使用引用计数器管理内存,但是之前一直没有特殊的 gc 方法处理引用计数器会引起泄漏的问题,例如引用自身的类。这方面 Python 明显比 PHP 强。而PHP没有跨请求解决方案和这也有很大关系。
这一点直到 5.3 分支才有所举措,不过我觉得是很难和 Python 比了吧。
这个应该只是其中的一个原因。
边角料只是浪费有限的生命而已
麻烦。。。用php作这个玩玩可以,真要用在产品上要走的路还很长,可能长到都走不下去
这个不是费劲不费劲的问题,如果一个只搞php的人,他根本不懂.net,也没必要再学习.net,还是用自己熟悉的东西更好
这个不是费劲不费劲的问题,如果一个只搞php的人,他根本不懂.net,也没必要再学习.net,还是用自己熟悉的东西更好
如果他只搞php开发web应用,的确没必要再学习.net,如果想开发windows客户端,我还是推荐他再学习.net,结果远比学习GTK类库的简单有效。这个当兴趣不错,用处的确鸡肋。