盘点一下这些年PHP在桌面应用方面的解决方案
moboyou 2025-07-08 03:57 20 浏览
今天作者给大家盘点一下近些年PHP在实现桌面客户端方面的项目。
PHP-GTK
PHP-GTK是2001年3月创立,是PHP的一个扩展,实现了与GTK+的绑定,提供面向对象的接口,极大地简化了客户端跨平台 GUI 应用程序的编写。
它是PHP语言和GTK库的一个纽带,GTK是一个桌面环境的GUI库,可以实现窗口、按钮、输入框等组件,通过本扩展可以使用PHP语言写带有 GUI(图形用户界面)的客户端应用程序。当初创建这个项目的意义,有一部分是为了证明PHP是一个强大的编程语言。PHP的大佬确实潇洒。
PHP-QT
PHP-Qt 是 PHP5 的扩展,旨在使用 Qt 工具包编写软件。 它为 Qt4 框架提供了面向对象的接口,并允许使用 PHP 语言编写 Qt 应用程序。 他的代码和效果如下:
WinBinder
WinBinder 是 PHP 的一个开源扩展,它让 PHP 程序员能轻松构建原生 Windows 应用程序,以最小的努力快速获得有价值的成果。借助 PHP 的强大和灵活性,即使是只有几十行代码的简短脚本也能生成有用的程序。
项目仅支持5.x系列,目前也有分支支持7.x和8.x系列。
这是一个扩展,安装之后,就实现GUI界面,也可以调用windows的众多能力,比如播放音乐等。
项目提供了大量的案例代码:
PHPSciter
PHPSciter是一个PHP的扩展,将Sciter集成到PHP中,这样就可以使用PHP来开发桌面应用。对于广大的PHPer来说,之前B/S架构下面的开发经验基本上可以移植到Sciter下面来。这样可以充分的享受PHP已有的各种类库,快速的开发桌面应用工具。
该项目是青岛龙之言软件有限责任公司出品,由国内著名的Swoole团队和禅道团队合资成立。
安装后运行如下代码,同时会加载其他案例源码:
<?php
$oSciter = new PHPSciter();
$oSciter->setResourcePath('file://' . __DIR__ . '/res/');
$oSciter->setWindowFrame(100, 100, 100 + 500 + 1, 100 + 500 + 1);
$oSciter->setWindowTitle('hello');
$oSciter->loadFile('index.php');
$oSciter->setOption(PHPSciter::SCITER_SET_SCRIPT_RUNTIME_FEATURES,PHPSciter::ALLOW_FILE_IO | PHPSciter::ALLOW_SOCKET_IO | PHPSciter::ALLOW_EVAL |PHPSciter::ALLOW_SYSINFO);
$oSciter->run(PHPSciter::SW_TITLEBAR | PHPSciter::SW_RESIZEABLE | PHPSciter::SW_MAIN | PHPSciter::SW_ENABLE_DEBUG|PHPSciter::SW_CONTROLS);
?>能够得到这样的界面:
运行机制
1. 启动Sciter窗口,加载index.php
2. index.php里面通过html的方式定义了若干的元素,并绑定了其click事件的响应函数。
3. 当事件触发后,sciter引擎会将click事件的调用传给php的解释引擎。
4. 在callback里面通过PHPSciter::defineFunction()方法定义了响应函数。
5. PHP引擎调用该函数,并将结果返回。
6. 前端的JS更新页面元素。
PHP-GUI
这个项目是 PHP-GUI,一个允许使用 PHP 创建图形用户界面的库。它的主要特点包括:
1. 使用 PHP 编写桌面应用程序
2. 跨平台支持(Windows、Linux、Mac)
3. 基于 Lazarus 和 Free Pascal 构建
4. 使用 PHP 的事件驱动编程模型
5. 支持各种 UI 组件如按钮、标签、输入框等
这个库让 PHP 开发者能够创建本地桌面应用,而不需要学习其他语言。它通过 PHP 进程与一个用 Pascal 编写的后台程序通信来实现界面渲染。
PHP Desktop
PHP Desktop 是一个开源项目,允许使用 PHP、HTML5、JavaScript 和 SQLite 等 Web 技术开发原生桌面 GUI 应用程序。它类似于 PHP 的 Electron,可以将 PHP Web 应用和 CLI 工具轻松转换为桌面应用。它嵌入了 Web 浏览器、Web 服务器和 PHP 解释器,并支持常见的 PHP 框架。你可以使用 Inno Setup 创建独立的可执行文件进行分发,并使用 PHP 编码器保护 PHP 源代码。PHP Desktop 具有稳定性好、无内存泄漏等优点,并且可以免费用于商业用途。
这是一个非常火爆的项目,目前有2.8K的star,他只是让你的php代码在一个本地桌面环境中运行。无需额外的门槛。
下面这个产品cryptoGlance 就是使用该项目打造的,这个工具是一个独立的或基于PHP的挖矿监控和管理平台,具有响应式界面和实时数据更新。它提供以下主要功能:
1.矿机/ASIC管理:监控和管理多个矿机,远程切换矿池、重启矿机,调整矿池优先级,重置矿机统计信息,以及在BITMAIN ASIC故障时自动重启。
2.矿池监控:实时跟踪矿池状态(支持MPOS和部分其他矿池)。
3.钱包/余额:管理多个钱包地址,汇总余额,并支持多种加密货币和法币转换。
NativePHP
NativePHP是一个新兴框架,旨在帮助PHP开发者快速构建功能丰富的原生桌面应用。它利用开发者已掌握的PHP、HTML、CSS和JavaScript技术,降低了学习门槛。NativePHP简化了跨平台应用分发流程,让PHP开发者能更便捷地创建真正的原生应用。
NativePHP本质上是以下几个要素的结合:一组方便的类,用于与宿主操作系统的各种功能进行交互;一套用于构建和打包原生应用程序的工具;以及一个静态PHP运行时,让你的应用可以在任何用户的设备上运行,无需用户进行任何配置。
NativePHP并非一个需要学习的全新框架,而是构建在Laravel生态系统之上。使用NativePHP前,需要熟悉使用Laravel构建Web应用。它也不是一个GUI框架,不限制你构建应用的方式,可以选择任何UI工具集,例如React、Vue、Livewire、Inertia,甚至纯HTML和CSS。NativePHP使用的就是标准的PHP,而不是新的PHP分支,也无需安装额外的PHP扩展,只需通过Composer安装即可使用。
小结
除了以上提到项目,PHP还有很多解决方案,大多数的方案并没有流行开,但是PHP Desktop 和NativePHP非常的强大。后面作者会做一个针对PHP的GUI解决方案的专题,详细测评每一个方案。欢迎大家关注作者。
实际上,NativePHP目前已经有了移动端解决方案,NativePHP for Mobile 。
NativePHP for Mobile是一个首创的库,它允许PHP开发者在各种移动设备上原生运行PHP应用程序,而无需Web服务器。它将静态编译的PHP作为可嵌入的C库,结合Laravel的灵活性和各平台丰富的原生API,从而可以使用Laravel的强大功能和便利性,构建高性能的PHP原生移动应用程序。构建美观的、本地优先的iOS和Android应用从未如此简单。后面作者会专门做一个详细介绍,欢迎大家关注。
原文标题: 盘点一下这些年PHP在桌面应用方面的解决方案
原文地址:
https://phpreturn.com/index/a68188c9ba1394.html原文平台: PHP武器库
版权声明: 本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。
相关推荐
- Excel技巧:SHEETSNA函数一键提取所有工作表名称批量生产目录
-
首先介绍一下此函数:SHEETSNAME函数用于获取工作表的名称,有三个可选参数。语法:=SHEETSNAME([参照区域],[结果方向],[工作表范围])(参照区域,可选。给出参照,只返回参照单元格...
- Excel HOUR函数:“小时”提取器_excel+hour函数提取器怎么用
-
一、函数概述HOUR函数是Excel中用于提取时间值小时部分的日期时间函数,返回0(12:00AM)到23(11:00PM)之间的整数。该函数在时间数据分析、考勤统计、日程安排等场景中应用广泛。语...
- Filter+Search信息管理不再难|多条件|模糊查找|Excel函数应用
-
原创版权所有介绍一个信息管理系统,要求可以实现:多条件、模糊查找,手动输入的内容能去空格。先看效果,如下图动画演示这样的一个效果要怎样实现呢?本文所用函数有Filter和Search。先用filter...
- FILTER函数介绍及经典用法12:FILTER+切片器的应用
-
EXCEL函数技巧:FILTER经典用法12。FILTER+切片器制作筛选按钮。FILTER的函数的经典用法12是用FILTER的函数和切片器制作一个筛选按钮。像左边的原始数据,右边想要制作一...
- office办公应用网站推荐_office办公软件大全
-
以下是针对Office办公应用(Word/Excel/PPT等)的免费学习网站推荐,涵盖官方教程、综合平台及垂直领域资源,适合不同学习需求:一、官方权威资源1.微软Office官方培训...
- WPS/Excel职场办公最常用的60个函数大全(含卡片),效率翻倍!
-
办公最常用的60个函数大全:从入门到精通,效率翻倍!在职场中,WPS/Excel几乎是每个人都离不开的工具,而函数则是其灵魂。掌握常用的函数,不仅能大幅提升工作效率,还能让你在数据处理、报表分析、自动...
- 收藏|查找神器Xlookup全集|一篇就够|Excel函数|图解教程
-
原创版权所有全程图解,方便阅读,内容比较多,请先收藏!Xlookup是Vlookup的升级函数,解决了Vlookup的所有缺点,可以完全取代Vlookup,学完本文后你将可以应对所有的查找难题,内容...
- 批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数
-
批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数在电商运营、物流对账等工作中,经常需要统计快递“揽收到签收”的耗时——比如判断某快递公司是否符合“3天内送达”的服务承...
- Excel函数公式教程(490个实例详解)
-
Excel函数公式教程(490个实例详解)管理层的财务人员为什么那么厉害?就是因为他们精通excel技能!财务人员在日常工作中,经常会用到Excel财务函数公式,比如财务报表分析、工资核算、库存管理等...
- Excel(WPS表格)Tocol函数应用技巧案例解读,建议收藏备用!
-
工作中,经常需要从多个单元格区域中提取唯一值,如体育赛事报名信息中提取唯一的参赛者信息等,此时如果复制粘贴然后去重,效率就会很低。如果能合理利用Tocol函数,将会极大地提高工作效率。一、功能及语法结...
- Excel中的SCAN函数公式,把计算过程理清,你就会了
-
Excel新版本里面,除了出现非常好用的xlookup,Filter公式之外,还更新一批自定义函数,可以像写代码一样写公式其中SCAN函数公式,也非常强大,它是一个循环函数,今天来了解这个函数公式的计...
- Excel(WPS表格)中多列去重就用Tocol+Unique组合函数,简单高效
-
在数据的分析和处理中,“去重”一直是绕不开的话题,如果单列去重,可以使用Unique函数完成,如果多列去重,如下图:从数据信息中可以看到,每位参赛者参加了多项运动,如果想知道去重后的参赛者有多少人,该...
- Excel(WPS表格)函数Groupby,聚合统计,快速提高效率!
-
在前期的内容中,我们讲了很多的统计函数,如Sum系列、Average系列、Count系列、Rank系列等等……但如果用一个函数实现类似数据透视表的功能,就必须用Groupby函数,按指定字段进行聚合汇...
- Excel新版本,IFS函数公式,太强大了!
-
我们举一个工作实例,现在需要计算业务员的奖励数据,右边是公司的奖励标准:在新版本的函数公式出来之前,我们需要使用IF函数公式来解决1、IF函数公式IF函数公式由三个参数组成,IF(判断条件,对的时候返...
- Excel不用函数公式数据透视表,1秒完成多列项目汇总统计
-
如何将这里的多组数据进行汇总统计?每组数据当中一列是不同菜品,另一列就是该菜品的销售数量。如何进行汇总统计得到所有的菜品销售数量的求和、技术、平均、最大、最小值等数据?不用函数公式和数据透视表,一秒就...
- 一周热门
- 最近发表
-
- Excel技巧:SHEETSNA函数一键提取所有工作表名称批量生产目录
- Excel HOUR函数:“小时”提取器_excel+hour函数提取器怎么用
- Filter+Search信息管理不再难|多条件|模糊查找|Excel函数应用
- FILTER函数介绍及经典用法12:FILTER+切片器的应用
- office办公应用网站推荐_office办公软件大全
- WPS/Excel职场办公最常用的60个函数大全(含卡片),效率翻倍!
- 收藏|查找神器Xlookup全集|一篇就够|Excel函数|图解教程
- 批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数
- Excel函数公式教程(490个实例详解)
- Excel(WPS表格)Tocol函数应用技巧案例解读,建议收藏备用!
- 标签列表
-
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- css class选择器用法 (25)
- css样式引入 (30)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- php小说爬取源码 (23)
- 云电脑app源码 (22)
- html画折线图 (24)
- docker好玩的应用 (28)
- linux有没有pe工具 (34)
- 可以上传视频的网站源码 (25)
- 随机函数如何生成小数点数字 (31)
- 随机函数excel公式总和不变30个数据随机 (33)
- 所有excel函数公式大全讲解 (22)
- 有动图演示excel函数公式大全讲解 (32)
