博客 / 詳情

返回

PHP桌面應用開發

php基於webview開發win桌面,js和php直接交互

碼雲

php-webview

目錄結構
.
├── 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打底(由於之前壓縮過會報毒,現已改為打底25M)

效果

文件圖標

提示 文件圖標必須在啓動目錄下,不然不顯示

構建

有關先決條件,請閲讀 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();
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.