>백엔드 개발 >PHP 튜토리얼 >winbinder开发php桌面程序_PHP教程

winbinder开发php桌面程序_PHP教程

PHP中文网
PHP中文网원래의
2017-04-27 10:53:502778검색

PHP_GTK2.0 开发桌面应用程序

php gtk 官方网站

gtk.php.net/

官方有gtk的中文手册 具体安装请参见 手册

更简单的方法是用另外一款软件 名字叫做gnope

下载地址:www.gnope.org/download.php

安装过程很简单 安装好之后 在桌面会有个PHP-Gtk2 Applications 的快捷方式图标

双击该图标 会出现一个php的桌面程序 里面列出了所有的demo 有控件演示 还有游戏(前提是安装时选择了安装游戏)

应用详细讲解:

www.16ec.com/tp15/site/index.php和http://blog.csdn.net/zhangking/archive/2010/08/20/5825416.aspx

看过这些程序 你是不迫不及待要自己莱写一个桌面应用程序了啊

下面就给出一个简单的登陆程序:

Php代码  

<?php  
if (!class_exists(‘gtk’)) {  
    die("lease load the php-gtk2 module in your php.ini\r\n");  
}  
function login(GtkWindow $wnd, GtkEntry $txtUsername, GtkEntry $txtPassword)  
{  
   $strUsername = $txtUsername->get_text();  
   $strPassword = $txtPassword->get_text();  
   $errors = null;  
   if (strlen($strUsername) == 0) {  
       $errors .= "Username is missing.\r\n";  
   }  
   if (strlen($strPassword) == 0) {  
       $errors .= "No password given.\r\n";  
   }  
   if ($errors !== null) {  
       $dialog = new GtkMessageDialog($wnd, Gtk::DIALOG_MODAL,  
           Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, $errors);  
       $dialog->set_markup(  
           "The following errors occured:\r\n"  
           . "<span foreground=’red’>" . $errors . "</span>"  
       );  
       $dialog->run();  
       $dialog->destroy();  
   }  
else {  
       $wnd->destroy();  
   }  
}  
$wnd = new GtkWindow();  
$wnd->set_title(‘Login’);  
$wnd->connect_simple(‘destroy’, array(‘gtk’, ‘main_quit’));  
$txtUsername = new GtkEntry();  
$txtPassword = new GtkEntry();  
$lblUsername = new GtkLabel(‘_Username’,true);  
$lblPassword = new GtkLabel(‘_Password’,true);  
$btnLogin = new GtkButton(‘_Login’);  
$btnCancel = new GtkButton(‘_Cancel’);  
$lblUsername->set_mnemonic_widget($txtUsername);  
$lblPassword->set_mnemonic_widget($txtPassword);  
$btnCancel->connect_simple(‘clicked’,array($wnd,’destroy’));  
$btnLogin->connect_simple(‘clicked’,&#39;login’,$wnd,$txtUsername,$txtPassword);  
$tbl = new GtkTable(3,2);  
$tbl->attach($lblCredit,0,2,0,1);  
$tbl->attach($lblUsername,0,1,1,2);  
$tbl->attach($txtUsername,1,2,1,2);  
$tbl->attach($lblPassword,0,1,2,3);  
$tbl->attach($txtPassword,1,2,2,3);  
$bbox = new GtkHButtonBox();  
$bbox->set_layout(Gtk::BUTTONBOX_EDGE);  
$bbox->add($btnLogin);  
$bbox->add($btnCancel);  
$vbox = new GtkVBox();  
$vbox->pack_start($tbl);  
$vbox->pack_start($bbox);  
$wnd->add($vbox);  
//$lblHello = new GtkLabel("This is my first php talbe application\nhaha");  
//$wnd->add($lblHello);  
$wnd->show_all();  
Gtk::main();  
?>

在 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 代码示例

<?php
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

cf5a8316fdfaaf5169ea63d18d5494eef01f7a10.jpg

2 、next

caae68094b36acafaec374927dd98d1001e99c7a.jpg

3 、选择安装路径然后next ,这里我选择的是d;/winbinder

8474fbdde71190efe2fe70b1cf1b9d16fdfa601c.jpg

4 、选择php 的版本,我这里的是php5.1

0b907cd9f2d3572c20e47eb28b13632762d0c31f.jpg

5 、选择下载的服务器,选择台湾比较快( 又只有台湾的选项而没有中国的,气愤)

9f6e190828381f30cd1a6fc7a8014c086e06f01a.jpg

6 、next

9864a2315c6034a8f89e5aefca13495409237625.jpg

7 、install

0865b518972bd407de6331937a899e510eb309fd.jpg

8 、等待

58af236d55fbb2fb0350ba7c4e4a20a44623dc22.jpg

9 、安装完成后点确认就行了。可以做第10步了。  

10 、安装好后打开D:\WinBinder\phpcode\examples ,任找一个.phpw 扩展名的文件,选择打开方式为D:\WinBinder\binaries\php51\php-win.exe 。

27d647ee3d6d55fb8d2594486c224f4a21a4ddba.jpg

现在已经可以运行以.phpw 为扩展名的文件了。例如

35da1d3b5bb5c9ea7433e18dd439b6003bf3b359.jpg

这里要讲解几个问题

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 下。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.