摘要
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 webmanphp windows.php
运行后,在你的本地服务器 8787
端口就可以访问。
http://localhost:8787
代码结构
其结构仍然是 MVC
框架结构。
一个简单的示例
通过一个简单的 控制器+模型+数据库配置
来实现一个数据查询示例。
UserController.php
用户控制器:app\controller\UserController.php
<?phpnamespace 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
<?phpnamespace 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
即可实现一个简单的数据库查询。