目录:
介绍
下载
支持
新功能的资金
支持发展
寻求赞助商
PHP Desktop 是由 Czarek Tomczak 于 2012 年创建的一个开源项目,旨在提供一种使用 PHP、HTML5、JavaScript 和 SQLite 等 Web 技术开发本机桌面 GUI 应用程序的方法。将其视为 PHP 的 Electron。它是一个方便的工具,可以轻松地将 PHP Web 应用程序和 PHP CLI 工具转换为桌面应用程序。创建 Web 应用程序时所习惯的开发工作流程保持不变,无需学习新的框架/API。将现有网站转换为桌面应用程序的过程基本上是将其复制到“phpdesktop/www/”目录。
从某种意义上说,phpdesktop 充当 PHP 到 EXE 编译器。它嵌入了一个 Web 浏览器、一个多线程 Web 服务器和一个 PHP 解释器。所有内容都嵌入到一个应用程序中,这是一个便携式文件夹,您可以通过将其打包为 zip 存档或为您的应用程序制作安装程序来轻松分发给最终用户。嵌入的 Web 服务器是 Mongoose 的定制版本,Mongoose 是 NASA 在国际空间站上使用的 Web 服务器。支持的浏览器是通过开源 Chromium 实现的 Internet Explorer 和 Google Chrome。嵌入 Chrome 的软件包没有外部依赖项,所有内容都包含在 phpdesktop 二进制文件中,并且在用户计算机上开箱即用。
支持所有流行的 PHP 框架,请参阅 PHP 框架支持 wiki 页面,了解 CakePHP、CodeIgniter、Laravel、Symfony、Yii 和 Zend Framework 的示例配置。 您可以在 Inno Setup 安装程序的帮助下创建独立的可执行文件以进行分发。 PHP 源代码可以通过许多可用的 PHP 编码器进行保护。 PHP Desktop是在非限制性许可下发布的,因此它可以免费用于商业用途。
稳定、可靠地工作是 PHP Desktop 的首要目标之一。 PHP Desktop 不会出现内存泄漏问题。 PHP 的设计从来就不是为了像桌面应用程序通常那样长时间/几天运行。使用 PHP Desktop 时这不是问题,因为它运行内部 Web 服务器并通过 CGI 提供页面。因此,当 PHP 脚本执行结束时,PHP-CGI 进程将被终止,并且所有内存始终被释放。
许多其他有用的信息可以在知识库 wiki 页面和 PHP 桌面论坛上找到。
视窗
适用于 Windows 的 PHP 桌面 Chrome 130.1 发布
PHP 桌面 MSIE 1.14 wiki 页面
苹果
Mac 版 PHP 桌面 Chrome 130.0 发布
Linux
适用于 Linux 的 PHP 桌面 Chrome 72.1 发布
有两种方式可以获得有关新版本的通知:
观看选中“仅发布”选项的项目
订阅 RSS/Atom 源
文档位于 Wiki 页面上。从知识库、设置和 Chrome 设置 wiki 页面开始。
在 PHP 桌面论坛上提出问题并报告问题
另请参阅此外部维护的教程:使用 PHP 和 PHP Desktop 创建您的第一个桌面应用程序
以下是 PHP Desktop 新功能的持续资助列表:
特征 | 资金聚集 | 问题 | 地位 |
---|---|---|---|
适用于 Windows 的 Chrome v130 版本 | 2,000 美元中的 2,000 美元 | 问题#227 | 测试发布 |
最初的 Mac 版本 | 2,000 美元中的 2,000 美元 | 问题#208 | 测试发布 |
以下是已完成的资金和已实施功能的列表:
特征 | 资金聚集 | 问题 | 地位 |
---|---|---|---|
初始 Linux 版本 | 1,500 美元中的 1,500 美元 | 问题#221 | 完毕 |
也可以为问题跟踪器中提交的其他功能以及 PHP Desktop Pro wiki 页面上提供的功能提供资助,只需告知 Czarek 即可。
如果您想通过捐赠来支持 PHP Desktop 的一般开发工作,请单击下面的“捐赠”按钮:
PHP Desktop 正在寻求公司赞助该项目的进一步开发。在问题跟踪器和 wiki 页面上提交了许多关于新功能的提案。最值得注意的是:
每月发布最新的 Chrome
自动化构建系统
跨平台支持,在 Mac 和 Linux 上具有完整功能
公开了更多用于完成桌面特定任务的 Javascript 和 PHP API
与桌面、任务栏和系统托盘更好地集成
HTTPS/SSL 支持
自定义窗口主题
在后台运行应用程序
SQLite加密
桌面通知
如果您的公司愿意赞助 PHP Desktop 开发工作,请联系 Czarek。欢迎长期赞助,Czarek 乐于接受有关该项目的想法。他很愿意花更多的时间来开发这个项目,但他无法在空闲时间这样做。