仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2224|回复: 20
打印 上一主题 下一主题

[学习教程] PHP网页编程之用PHP开辟GUI

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:07:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学会了PHP,那么学其他的语言,肯定速成,反过来也一样,如果你之前学过其他的语言,那么学PHP肯定快。   情况:W2k+php4.3.1+php/gtk0.5.2
一个复杂的记事本(只可以翻开文件停止修正)
<?php
set_time_limit (0);       // 设置运转工夫

if (!class_exists ("gtk"))           // 判别是不是有GTK模块
    if (strtoupper (substr ($_SERVER["OS"], 0, 3)) == "WIN")
        dl ("php_gtk.dll");
    else
        dl ("php_gtk.so");

$window = &new GtkWindow ();              // 建一个窗口
$window->set_uposition (100, 100);        //  窗口呈现地位
$window->set_usize ((gdk::screen_width()-200), (gdk::screen_height()-150));  // 窗口巨细
$window->set_title ("WINDOWS");         // 设置窗口题目
$window->connect_object ('destroy', array ('gtk', 'main_quit'));     // 注册窗口的事务

$vbox = &new GtkVBox ();           
$hbox = &new GtkHBox ();         
$window->add ($vbox);


$menuBar = &new GtkMenuBar ();               // 创立菜单
$vbox->pack_start ($menuBar, false, false, 0);

$file = &new GtkMenuItem ("File");
$menuBar->append ($file);

$fileMenu = &new GtkMenu ();
$open = &new GtkMenuItem ("Open");
$save = &new GtkMenuItem ("Save");
$line = &new GtkMenuItem ();
$line->set_sensitive (true);
$exit = &new GtkMenuItem ("Exit");
$fileMenu->append ($open);
$open->connect_object ('activate', 'showFileSelection');        
$fileMenu->append ($save);
$save->connect_object ('activate', 'saveFile');
$fileMenu->append ($line);
$fileMenu->append ($exit);
$exit->connect_object ('activate', array ('gtk', 'main_quit'));

$file->set_submenu ($fileMenu);

$scroll = &new GtkScrolledWindow ();
$scroll->set_border_width (8);
$scroll->set_policy (GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
$hbox->pack_start ($scroll, true, true, 0);
$vbox->pack_start ($hbox, true, true, 1);

$text = &new GtkText ();
$text->set_editable (true);
$text->set_word_wrap (true);
$scroll->add ($text);

function showFileSelection ()           // 文件选择函数
{
    $file = &new GtkFileSelection ("File Selection");
    $ok_button = $file->ok_button;
    $ok_button->connect ('clicked', 'openFile', $file);
    $ok_button->connect_object ('clicked', array ($file, 'destroy'));
    $cancel_button = $file->cancel_button;
    $cancel_button->connect_object ('clicked', array ($file, 'destroy'));
    $file->show ();
}

$filePath = null;
function openFile ($button, $f)          // 翻开文件的函数
{
    GLOBAL $text, $save, $filePath;
    $filePath = $f->get_filename ();
    if (is_file ($filePath))
    {
        $fp = fopen ($filePath, 'r');
        while (!feof ($fp))
            $str .= fgets ($fp, 1024);
        $text->insert (null, null, null, $str);
        fclose ($fp);
        return $filePath;
    }
}

function saveFile ()                // 保留文件的函数
{
    GLOBAL $filePath, $text;
    if (is_file ($filePath))
    {
        $str = $text->get_chars (0, -1);
        $fp = fopen ($filePath, 'w');
        fwrite ($fp, $str);
        fclose ($fp);
    }
    return;
}

$window->show_all ();             // 显示窗体内的一切控件
gtk::main ();                      // 最主要的一句,不成少的
?>
附:php/gtk设置装备摆设
实战PHP/GTK(转载)

刁馋 宣布于 2002-2-19 15:25 PHP编程 ←前往版面     

之前PHP被以为只能用来编写办事器真个CGI法式,假如说PHP可以开辟Windows下的GUI(图形用户界面)法式,你信任吗?比来,PHP的开辟小构成功开辟出了绑缚GTK+的PHP,那末就能够开辟Windows下的GUI法式了。

1、创立PHP/GTK运转情况:
其实GUI法式和通俗的PHPCGI法式没有甚么区分,不外是PHP/GTK法式由GTK的类来生成GUI界面罢了,他们一样是开放源代码,靠PHP来解析创立窗口。假如你已创立好了PHP的调试情况,那末装置PHP/GTK情况对照复杂:
1、下载php_gtk.dll(这个dll文件用于解析PHP源法式外面的GTK代码),下载后将其解压到PHP的扩大(extension)目次中;
2、下载其他PHP/GTK的dll文件(一共6个),将他们解紧缩到Windows的system32目次外面;
3、翻开php.ini,在扩大设置局部“Windows Extensions”最上面到场“extension=php_gtk.dll”的语句,建议先备份php.ini,防止修正掉败使得创立好的PHP运转情况作废;
如今就创立好了PHP/GTK的运转情况了。固然,你也能够不作第二步,而改成在每一个PHP/GTK法式源代码的第一行到场“dl('php_gtk.dll')”来静态加载GTK的撑持。
假如你还没有创立PHP运转情况,那末装置要加倍复杂:
1、下载全部PHP/GTK的绑缚撑持包,然后将他们解紧缩到c盘的PHP4目次上面;
2、将winnt目次上面的dll文件拷贝到Windows的system32目次中,将php.ini文件拷贝到Windows的目次中;
创立好了PHP/GTK的运转后,可以用号令行形式的PHP来运转一个PHP/GTK法式:在运转中输出“c:\php4\php -q gtkprogrampath”,个中“c:\php4\php”改成PHP.EXE的途径,“gtkprogrampath”就是PHP/GTK法式的途径。好比:“c:\php4\php -q c:\php4\samples\hello.php”将会运转PHP/GTK运转包中附带的例子“hello world”法式。

2、编译PHP/GTK法式:
假如你作出一个PHP/GTK的使用法式,还需求对方的电脑创立PHP的运转情况而且利用PHP号令行形式来解析才可以履行的话,那就过于庞杂了。那末怎样才可以编译一个PHP/GTK的法式呢?经由一番搜刮,笔者发明了PHPCompiler这个软件。
PHPCompiler由www.deskcode.com开辟(http://www.deskcode.com/phpcompiler),可以将PHP编译成为EXE可履行文件,内置了PHP的撑持,假如你要编译一个PHP/GTK法式,必需创立PHP/GTK的运转情况(参照后面的步调)。要编译一个PHP/GTK法式的步调以下:
1、翻开PHPCompiler(如图),在“Script to”选择但愿编译的PHP法式源代码,在“Destination”处选择编译胜利后的EXE文件的途径;
2、点击“Compile”按钮,会弹出一个对话框扣问利用的编译形式(假如是PHP/GTK法式就选择no,是纯真的PHPCGI法式就选择yes);
3、然后又会弹出一个对话框扣问是不是拷贝php4ts.dll文件到编译后的EXE文件的目次,选择yes。
经由下面的步调,一个PHP/GTK法式就胜利编译了,然而关于编译PHP/GTK法式还有几个需求注重的中央:
1、编译完成后的可履行文件假如需求履行,PC机下面必需具有GTK运转情况所需的几个dll文件(就是后面下载的那几个),假如需求作成使用法式,可以在装置的时分将几个dll文件拷贝到system32目次中(不外如许子法式也就不是“绿色软件”了^_^)。
2、PHPCompiler自己关于PHP的撑持十分好,然而有些人试过用一些需求扩大撑持的函数,好比“gzopen”等等,在编译之前还好好的,编译终了后就不克不及用了。其实编译完成后的可履行文件,相当于了只要默许的PHP撑持(连GTK撑持都没有了),所以假如在法式中使用了任何需求扩大撑持的函数,都必需静态的加载撑持函数的dll文件,好比“dl('php_gtk.dll')”,如许子编译完成后才不会失足。
3、运转一个编译后的可履行文件,城市先弹出一个DOS窗口,然后主动封闭,由于每一个GUI窗口都是经由过程GTK来“绘制”出来的,所以必需会有谁人窗口。
4、也许之前PHP还不克不及说是真实的OOP(面向对象法式)言语,然而到了PHP/GTK,任何一个窗口都由GTK对象来“绘制”,假如没有过硬的OOP功底,是很难写出GUI法式的。

3、PHP/GTK资本:
1、http://gtk.php.net:PHP/GTK的官方网站;固然说是官方网站,然而确粗陋的很,出了一个FAQ和邮件列表,几近找不就任何有效的器材了,
2、http://www.phpgtk.com:一个界面对照好的PHP/GTK网站,有最新的版本信息。
3、http://developer.gnome.org/doc/API/gtk/gtkobjects.html:PHP/GTK函数和类的大全/手册网站,外面有非常丰厚的PHP/GTK材料。
4、http://www.phpuk.org/gtk/:非官方版本的GTK手册网站,复杂易懂。

假如人人以为E文对照好看,也能够来zphp.com下载最新的PHP/GTK运转情况和撑持包。

在相册系统的开发上,因为采用的是团队分工合作方式,更让我明白了在一个团队之中,团队成员之间的交流沟通的重要性,如果没有很好的沟通交流,成员之间的任务没有分配好。
乐观 该用户已被删除
沙发
发表于 2015-2-4 08:57:13 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
老尸 该用户已被删除
板凳
发表于 2015-2-6 02:43:04 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
莫相离 该用户已被删除
地板
发表于 2015-2-10 09:27:17 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
海妖 该用户已被删除
5#
发表于 2015-2-23 21:00:00 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
因胸联盟 该用户已被删除
6#
 楼主| 发表于 2015-3-7 10:18:31 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
不帅 该用户已被删除
7#
发表于 2015-3-13 09:17:56 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
谁可相欹 该用户已被删除
8#
发表于 2015-3-20 12:38:50 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
爱飞 该用户已被删除
9#
发表于 2015-3-22 18:12:52 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
蒙在股里 该用户已被删除
10#
发表于 2015-3-25 08:47:22 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
兰色精灵 该用户已被删除
11#
发表于 2015-3-30 18:18:22 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
柔情似水 该用户已被删除
12#
发表于 2015-4-3 04:30:51 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
只想知道 该用户已被删除
13#
发表于 2015-4-13 19:01:11 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
若天明 该用户已被删除
14#
发表于 2015-4-14 23:29:39 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
再见西城 该用户已被删除
15#
发表于 2015-4-22 17:59:37 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
山那边是海 该用户已被删除
16#
发表于 2015-4-25 05:55:44 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
冷月葬花魂 该用户已被删除
17#
发表于 2015-4-26 05:07:31 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
小魔女 该用户已被删除
18#
发表于 2015-4-27 02:31:25 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
愤怒的大鸟 该用户已被删除
19#
发表于 2015-5-2 19:14:23 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
若相依 该用户已被删除
20#
发表于 2015-6-8 10:15:01 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-14 15:01

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表