PHP code example of kingbes / framework

1. Go to this page and download the library: Download kingbes/framework library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

kingbes / framework example snippets


return [
    // 窗口
    "windows" => [
        // 标题
        "title" => "PHP GUI",
        // 宽
        "width" => 640,
        // 高
        "height" => 480,
        // 是否测试模式 ,非测试模式:false
        "debug" => true
    ],
    // 默认控制器
    "default_controller" => "Home",
    // 默认时区
    "default_timezone" => "Asia/Shanghai",
    // 视图
    "default_view" => [
        // 目录名
        "dirname" => "view",
        // 文件后缀
        "suffix" => "html"
    ]
];

return [
    'default' => 'sqlite',
    'connections' => [
        'sqlite' => [
            // 数据库类型
            'type'        => 'sqlite',
            // 数据库名
            'database'    => app_path("sqlite3.db"),
            // 数据库编码默认采用utf8
            'charset'     => 'utf8',
            // 数据库表前缀
            'prefix'      => '',
        ],
    ],
];

return [
    [
        "name" => "显示", // 名称
        "fn" => function () { // 点击后触发的函数
            app()->show_win(); // 触发显示窗口函数
        }
    ],
    [
        "name" => "退出",
        "fn" => function () {
            app()->destroy_win(); // 关闭应用
        }
    ]
    ... //追加更多
];

return [
    // 例子
    app\middleware\TestMiddleware::class
];

namespace app\controller;

class Home
{
    /**
     * get function
     *
     * @param integer $seq 触发次数
     * @param array $req js传来的参数
     * @return array
     */
    public function get(int $seq, array $req): array
    {
        /**
         * 你的逻辑代码 
         */
        ...

        return ["PHP WINDOWS GUI"];
    }
}

namespace app\controller;

// 窗口提示类型
use app\kingbes\PhpWebview\WindowSizeHint;

class SizeWin
{
    /**
     * 改变当前窗口的宽度 variable
     *
     * @var integer
     */
    public int $width = 800;
    /**
     * 改变当前窗口的高度 variable
     *
     * @var integer
     */
    public int $height = 800;
    /**
     * 改变当前窗口的提示 variable
     *
     * @var WindowSizeHint
     */
    public WindowSizeHint $hint =  WindowSizeHint::HINT_FIXED;
}

class TestMiddleware
{
    public function process(string $page, object $next_class): bool
    {
        var_dump("下一页的页面");
        var_dump($page);
        var_dump("下一页的class");
        var_dump($next_class);
        // true 会放行 , false不放行
        return true;
    }
}


/**
 * 根目录路径 function
 *
 * @param string ...$path 拼接
 * @return string
 */
function base_path(string ...$path): string {}

/**
 * app目录路径 function
 *
 * @param string ...$path 拼接
 * @return string
 */
function app_path(string ...$path): string {}

/**
 * app应用 function
 *
 * @return object
 */
function app(): object {}

/**
 * 页面跳转 function
 *
 * @param string $page
 * @return void
 */
function app_jump(string $page): void {}

/**
 * 消息对话框 function
 *
 * @param string $str
 * @param integer $type
 * @return boolean
 */
function dialog_msg(string $str, int $type = 0): bool {}

/**
 * 输入对话框 function
 *
 * @return string
 */
function dialog_prompt(): string {}

/**
 * 打开文件对话框 function
 *
 * @return string
 */
function dialog_file(): string {}

/**
 * 打开文件夹对话框 function
 *
 * @param string $default_dir 默认文件夹路径位置
 * @return string
 */
function dialog_dir(string $default_dir = ""): string {}

/**
 * 保存文件对话框 function
 *
 * @param string $content 内容
 * @param string $filename 文件名 如:test.txt
 * @param string $path 保存路径 如:D:/dir
 * @return boolean
 */
function dialog_save(
    string $content,
    string $filename,
    string $path = ""
): bool {}

shell
cd desktop
php index.php