热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用php开发桌面程序

2019独角兽企业重金招聘Python工程师标准在很多人眼里,php只是web开发用,其实php也可以开发命令行程序和桌面程序。为什么要用php开

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在很多人眼里,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一个出来设置设置属性,操作的时候调用下方法就好。




转:https://my.oschina.net/meikaiyuan/blog/142097



推荐阅读
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 最适合初学者的编程语言
    本文探讨了适合编程新手的最佳语言选择,包括Python、JavaScript等易于上手且功能强大的语言,以及如何通过有效的学习方法提高编程技能。 ... [详细]
  • 本文介绍了使用Python和C语言编写程序来计算一个给定数值的平方根的方法。通过迭代算法,我们能够精确地得到所需的结果。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • Spring Security基础配置详解
    本文详细介绍了Spring Security的基础配置方法,包括如何搭建Maven多模块工程以及具体的安全配置步骤,帮助开发者更好地理解和应用这一强大的安全框架。 ... [详细]
  • 视觉Transformer综述
    本文综述了视觉Transformer在计算机视觉领域的应用,从原始Transformer出发,详细介绍了其在图像分类、目标检测和图像分割等任务中的最新进展。文章不仅涵盖了基础的Transformer架构,还深入探讨了各类增强版Transformer模型的设计思路和技术细节。 ... [详细]
  • 一家位于长沙的知名网络安全企业,现面向全国诚聘高级后端开发工程师,特别欢迎具有一线城市经验的技术精英回归故乡,共创辉煌。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 本文深入探讨了WPF框架下的数据验证机制,包括内置验证规则的使用、自定义验证规则的实现方法、错误信息的有效展示策略以及验证时机的选择,旨在帮助开发者构建更加健壮和用户友好的应用程序。 ... [详细]
author-avatar
kingseao
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有