百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

盘点一下这些年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秒完成多列项目汇总统计

如何将这里的多组数据进行汇总统计?每组数据当中一列是不同菜品,另一列就是该菜品的销售数量。如何进行汇总统计得到所有的菜品销售数量的求和、技术、平均、最大、最小值等数据?不用函数公式和数据透视表,一秒就...