動態

詳情 返回 返回

PHP輕量級高性能HTTP服務框架 - webman - 動態 詳情

摘要

webman 是一款基於 workerman 開發的高性能 HTTP 服務框架。webman 用於替代傳統的 php-fpm 架構,提供超高性能可擴展的 HTTP 服務。你可以用 webman 開發網站,也可以開發 HTTP 接口或者微服務。

除此之外,webman 還支持自定義進程,可以做 workerman 能做的任何事情,例如 websocket 服務、物聯網、遊戲、TCP 服務、UDP 服務、unix socket 服務等等。

官網&文檔:https://www.workerman.net/doc/webman/README.html

安裝

PHP >= 7.2
Composer >= 2.0
composer create-project workerman/webman

運行

Windows 系統為例:

cd webman
php windows.php

image.png

運行後,在你的本地服務器 8787 端口就可以訪問。

http://localhost:8787

image.png

代碼結構

其結構仍然是 MVC 框架結構。

image.png

一個簡單的示例

通過一個簡單的 控制器+模型+數據庫配置 來實現一個數據查詢示例。

UserController.php

用户控制器:app\controller\UserController.php

<?php
namespace app\controller;

use support\Request;
use app\model\User;

class UserController
{
    public function getUser(Request $request)
    {
        $default_uid = 29;
        $uid = $request->get('uid', $default_uid);
        $name = User::getUsernameByUid($uid); // 調用模型中的方法
        return json(['code' => 0, 'msg' => 'ok', 'name' => $name]);
    }
}

User.php

用户查詢模型:app\model\User.php

<?php

namespace app\model;

use support\Db;

class User
{
    public static function getUsernameByUid($uid)
    {
        return Db::table('users')->where('uid', $uid)->value('username');
    }
}

數據庫配置

webman 數據庫默認採用的是 illuminate/database,也就是 laravel 的數據庫,用法與 laravel 相同。先安裝一下數據庫:

composer require -W illuminate/database illuminate/pagination illuminate/events symfony/var-dumper

打開 config/database.php 配置數據庫。

return [
    // 默認數據庫
    'default' => 'mysql',

    // 各種數據庫配置
    'connections' => [
        'mysql' => [
            'driver'      => 'mysql',
            'host'        => '127.0.0.1',
            'port'        => 3306,
            'database'    => 'test',
            'username'    => 'root',
            'password'    => '',
            'unix_socket' => '',
            'charset'     => 'utf8',
            'collation'   => 'utf8_unicode_ci',
            'prefix'      => '',
            'strict'      => true,
            'engine'      => null,
            'options' => [
                \PDO::ATTR_TIMEOUT => 3
            ]
        ],
    ],
];

運行

在瀏覽器訪問

http://localhost:8787/user/getUser

即可實現一個簡單的數據庫查詢。

user avatar smalike 頭像 dirackeeko 頭像 guixiangyyds 頭像 codexiaosheng 頭像 leoyi 頭像 morimanong 頭像 zego 頭像 guanguans 頭像 manshenjiroudehuajuan 頭像 jamesfancy 頭像 _58d8892485f34 頭像 codists 頭像
點贊 16 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.