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

2024-03-01 0 655
目录
  • 使用 NativePHP 设置场景
    • 安装 NativePHP
    • 运行开发构建
    • 添加本地特性
    • 构建发布
  • NativePHP 的注意事项
    • 结论

      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来设置基本结构。

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

      • config/nativephp.php用于应用程序配置
      • app/Providers/NativeAppServiceProvider.php用于启动序列和注册本机组件。

      运行开发构建

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

      $ 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 之前,需要考虑以下几点:

      • Alpha 阶段: 目前,NativePHP 处于 alpha 阶段,更倾向于 beta 体验。
      • Laravel 框架优先:虽然 NativePHP 声称与任何 PHP 框架兼容,但其设计是为 Laravel 量身定制的。
      • 数据库限制: 数据库支持仅限于本地 SQLite,创建时会替换现有的数据库设置。
      • 交叉编译限制:虽然它支持针对不同操作系统的构建,但还不支持跨架构的构建。例如,在 M1 芯片上构建的二进制文件无法在大多数 Linux 和 Windows 机器上运行(ARM 构建无法在 Intel 芯片上运行)。一个变通方法是使用不同的机器或 CI/CD 管道进行构建。

      结论

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

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

      您可能感兴趣的文章:

      • php生成网页桌面快捷方式
      • php创建桌面快捷方式实现方法
      • ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
      • ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
      • PHP获取不了React Native Fecth参数的解决办法

      收藏 (0) 打赏

      感谢您的支持,我会继续努力的!

      打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
      点赞 (0)

      悠久资源 PHP NativePHP使用PHP创建桌面应用程序 https://www.u-9.cn/biancheng/php/181857.html

      常见问题

      相关文章

      发表评论
      暂无评论
      官方客服团队

      为您解决烦忧 - 24小时在线 专业服务