php实例

关注公众号 jb51net

关闭
首页 > 网络编程 > PHP编程 > php实例 > NativePHP PHP创建桌面应用

NativePHP使用PHP创建桌面应用程序

作者:杭州程序员张张

这篇文章主要为大家介绍了NativePHP使用PHP创建桌面应用程序,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

PHP 在我心中占据着特殊的位置。它是我的第一份工作,我记得我在家里花了无数个小时做一些小项目。我非常想用 PHP 创建桌面应用程序,但我从来没有做到过。

现在,感谢 NativePHP,我可以了。 NativePHP 追随 Slack、Discord 和 Trello 等流行应用程序的脚步,将您的 PHP 应用程序包装在 Electro 中。它允许后端逻辑在 PHP 上运行,而 UI 则使用 HTML、CSS 和任何 JavaScript 框架构建。

使用 NativePHP 设置场景

我决定通过将 Laravel 应用程序转换为桌面应用程序来深入研究 NativePHP。为了让你更清楚地了解,让我们从一个基本的设置开始。我正在开发的应用程序有一个 Laravel 后端和一个 React 前端,以 MySQL 数据库作为其骨干。

安装 NativePHP

首先,我们通过 Composer 安装 NativePHP:

$ composer require nativephp/electron

这扩展了 Laravel 的 artisan 工具,增加了一组新的 NativePHP 特定命令,例如 php artisan native 显示了构建和管理本地应用程序的命令列表。

接下来,运行 php artisan native:install 来设置基本结构。

特别值得注意的是两个文件:

运行开发构建

应用程序设置完毕后,我们可以开始开发构建:

$ php artisan native:serve &
$ npm run dev &

我们需要启动 PHP 和 UI 的开发服务器,在本例中, npm 使用 Vite 来构建并为 Electron 窗口提供 UI 组件。

NativePHP 将应用程序与 Electron 捆绑在一起,嵌入了 PHP 解释器。在开发过程中,它将后端切换到本地 SQLite 数据库,因此我们需要使用 php artisan native:migrate 运行迁移来设置新数据库。

添加本地特性

为了增强桌面体验,NativePHP 允许集成本地元素,如通知、菜单栏和热键。

我通过编辑 app/Providers/NativeAppServiceProvider.php 在应用启动时添加了一个简单的通知,这有助于我们给应用带来我们想要的原生感觉。

首先,我们添加通知界面:

use Native\Laravel\Facades\Notification;

然后,在 boot 函数中,在窗口打开后添加以下代码:

Notification::title('Application Started')
    ->message('This message is comming from NativePHP running on Electron')
    ->show();
}

保存后,热重载功能应该会重启应用并显示通知(如果看不到通知,请检查是否没有启用 Electron 的通知)。

构建发布

对于生产版本,我们在 config/nativephp.php 中填写发布细节。值得注意的是,环境文件 ( .env ) 被绑定到构建中,因此敏感数据必须使用 cleanup_env_keys 进行清理。

要为你的操作系统构建一个版本,只需运行:

$ php artisan native:build

这个过程生成各种包,包括 DMG、Zip 文件和应用程序的二进制文件。

我们还可以使用以下命令构建 Windows 和 Linux 包:

$ php artisan native:build win
$ php artisan native:build linux

在构建过程完成后,我们应该得到一个 setup.exe 、AppImage 和 .deb 文件。

NativePHP 的注意事项

在深入了解 NativePHP 之前,需要考虑以下几点:

结论

NativePHP,即使在 alpha 阶段,对于 PHP 开发者来说,也是一个令人印象深刻且用户友好的框架。它为基于 PHP 的桌面应用程序打开了一个新的可能性世界。如果你正在从事 PHP 开发,NativePHP 绝对是一个值得关注的项目。

以上就是NativePHP使用PHP创建桌面应用程序的详细内容,更多关于NativePHP PHP创建桌面应用的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文