+
95
-

回答

下面是一个使用 Swoole 创建 MVC 框架的基本示例:

首先,这是一个简单的 Model 代码,例如我们有一个 UserModel:

class UserModel
{
    public function getUserById($id) 
    {
        //在这里,我们只是返回一个测试数据,实际应用中,你可能需要去数据库中取数据
        return ['id' => $id, 'name' => "test user"];
    }
}

然后,这是一个简单的 Controller 代码:
class UserController
{
    protected $userModel;

    public function __construct()
    {
//需要require文件
        $this->userModel = new UserModel();
    }

    public function getUser($id)
    {
        $user = $this->userModel->getUserById($id);
        return json_encode($user);
    }
}

这是 Router 的示例代码:
$http = new swoole_http_server("127.0.0.1", 9501);

$http->on('request', function ($request, $response) {

    $uri = $request->server['request_uri'];

    if ($uri == '/user/get') {
        //需要require文件

        $controller = new UserController();

        $id = $request->get['id'] ?? 0;

        $data = $controller->getUser($id);

        $response->header("Content-Type", "application/json");
        $response->end($data);

    } else {
        $response->status(404);
        $response->end('Not Found');
    }
});

$http->start();

以上代码创建了一个简单的 MVC 框架,当你访问 http://127.0.0.1:9501/user/get?id=1 的时候,就会返回一个 json 格式的用户数据。

此代码只是一个基础示例,用于阐述使用 swoole 创建 MVC 框架的基础结构。在实际使用中,可能需要处理更多的路由规则,分离路由逻辑,处理 POST 数据,甚至加入模板引擎以返回 HTML 数据等。希望这个例子能帮到你!

网友回复

我知道答案,我要回答