PHP轻量级高性能HTTP服务框架 - webman
webman是一款基于workerman开发的高性能HTTP服务框架。webman用于替代传统的php-fpm架构,提供超高性能可扩展的HTTP服务。你可以用webman开发网站,也可以开发HTTP接口或者微服务。除此之外,webman还支持自定义进程,可以做workerman能做的任何事情,例如websocket服务、物联网、游戏、TCP服务、UDP服务、服务等等。官网&文档:https://w
摘要
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

运行后,在你的本地服务器 8787 端口就可以访问。
http://localhost:8787

代码结构
其结构仍然是 MVC 框架结构。

一个简单的示例
通过一个简单的 控制器+模型+数据库配置 来实现一个数据查询示例。
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
即可实现一个简单的数据库查询。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)