php开发桌面应用

php基于webview开发win桌面,js和php直接交互

码云

php-webview

php版本目录文件可能会报毒,请放心使用(因为经过压缩实现打包后打底仅仅7M的体积)

目录结构
.
├── library\          库目录(制作PHP可调用拓展)
|
├── os\               系统拓展目录
|   
├── php\              php环境目录
|   
├── src\              应用目录
|   └── index.php     入口文件(文件名别修改)
|
├── favicon.ico       文件图标
|
└── windows.bat       windows运行文件

更新

进入src目录

windows用户

运行命令 ..\php\php.exe ..\php\composer.phar update 更新

自己php环境 php composer update 更新

运行

进入根目录

windows用户

双击 windows.bat 或者运行命令 .\php\php.exe src/index.php 启动

自己php环境 php src/index.php 启动 (必须开启ffi拓展和phar拓展)

打包

进入根目录

运行命令 .\php\php.exe build.php 或者自己php环境运行 php build.php

编译后仅仅7M打底

效果

文件图标

提示 文件图标必须在启动目录下,不然不显示

构建

有关先决条件,请阅读 The link

要构建库,请运行 library/build.sh 在unix系统上, library/build.bat 在 Windows

教程

配置


use KingBes\PhpWebview\WebView;
use KingBes\PhpWebview\WindowSizeHint;

/**
 * @param string $title 窗口标题
 * @param int $width 窗口宽度
 * @param int $height 窗口高度
 * @param WindowSizeHint $hint 大小提示 0,1,2,3
 * @param bool $debug debug模式 默认:false
 * __DIR__ 入口位置
 */
$webview = new WebView('Php WebView', 640, 480, WindowSizeHint::HINT_NONE, true, __DIR__);

获取与设置

// 获取ffi          返回:FFI
$webview->getFFI();
// 获取webview      返回:mixed
$webview->getWebview();
// 获取窗口标题     返回:string
$webview->getTitle();
// 设置窗口标题     参数:title=string
$webview->setTitle(title:"新的标题");
// 获取窗口宽度     返回:int
$webview->getWidth();
// 设置窗口宽度     参数:width=int
$webview->setWidth(width:100);
// 获取窗口高度     返回:int
$webview->getHeight();
// 设置窗口高度     参数:height=int
$webview->setHeight(height:100);
// 获取窗口大小提示  返回:int
$webview->getHint();
// 设置窗口大小提示  参数:hint=WindowSizeHint::HINT_MIN
$webview->setHint(hint:WindowSizeHint::HINT_MIN);
// 判断是否debug    返回:bool
$webview->isDebug();
// 设置html内容     参数:html=string
$webview->setHTML(html:"<a>html的内容</a>");
// 绑定交互的操作    参数:name=string ,闭包函数:$req 是接收到的参数,$seq 是触发次数
$webview->bind(name:"bindName",function($seq, $req, $context){
    return ["返回内容","返回数组"];
});
// 解除绑定         参数:name=你绑定过的name名
$webview->unbind(name:"bindName");
// 设置窗口url内容  参数:url=string
$webview->navigate(url:"http://www.baidu.com");
// 运行
$webview->run();
// 销毁
$webview->destroy();
本作品采用《CC 协议》,转载必须注明作者和本文链接
放弃总是很容易,但坚持是痛苦的!
讨论数量: 6

咋说呢,PHP 搞这个感觉就是个玩具。

1周前 评论
Kingbes (楼主) 1周前
yangweijie

gitee.com/kllxs_admin/php-egg-edit...

看了一眼你这个项目, js 直接调PHP 控制器方法, 完全没看出再哪里绑定的。

1天前 评论
Kingbes (楼主) 1天前
Kingbes (楼主) 1天前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
1
粉丝
0
喜欢
3
收藏
1
排名:2881
访问:225
私信
所有博文
社区赞助商