Webui库 的 php 绑定 实现跨平台桌面应用

KingBes

GITHUB

码云

官网

WebUI for PHP

使用任何web浏览器或WebView作为GUI,后端使用您喜欢的语言,前端使用现代web技术,所有这些都在一个轻量级的便携式库中。

composer

composer require kingbes/webui
要求 状态
PHP 8.1+
FFI *
Windows true
Linux 待测试
MacOs 待测试

示例

  1. 示例一

index.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 必须加入webui.js,否则无法交互 -->
    <script src="webui.js"></script>
</head>

<body>
    <button onclick="btn()">asd</button>
    <script>
        function btn() {
            hello('hello').then(function (res) {
                console.log(res)
            })
        }
    </script>
</body>

</html>

index.php

require "./vendor/autoload.php";

use Kingbes\Webui;
use Kingbes\JavaScript;

// 实例
$Webui = new Webui;
// html字符串
$html = file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . "index.html");
// 创建一个窗口
$window = $Webui->newWindow();
// 绑定js函数
$bind = $Webui->bind($window, "hello", function ($event, JavaScript $js) {
    // 获取第一个参数为字符串
    $arg_one = $js->getString($event);
    var_dump($arg_one);

    // 返回字符串
    $js->returnString($event, "nihao");
});
// 显示窗口
$Webui->show($window, $html);
// 等待
$Webui->wait();
// 释放所有
$Webui->clean();

各类用法说明

  1. Webui 窗口的方法类
  2. JavaScript 用于与js绑定交互用
  3. Wrapper 包装器,对整个交互进行包装等
  4. Cobj C的对象类,部分功能可能需要

详细请到GITHUB查看

670 3 3
3个评论

初心by

nice

  • 暂无评论
1057451212@qq.com

好东西

  • 暂无评论
18227948197

可以设置默认WebView作为UI吗?

KingBes

1430
积分
0
获赞数
0
粉丝数
2023-06-12 加入
×
🔝