webman 1.2版本支持think-orm插件,可自动安装think-orm并配置webman。该插件需要webman>=1.2.1,如果你的webman版本是旧版本,请参考以下文档手动配置安装think-orm。
-
安装ThinkOrm
composer require topthink/think-orm
-
配置文件
config/thinkorm.php
内容如下:<?php return [ 'default' => 'mysql', 'connections' => [ 'mysql' => [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => 'test', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '3306', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => '', // 断线重连 'break_reconnect' => true, // 关闭SQL监听日志 'trigger_sql' => false, ], ], ];
-
建立数据库初始化文件
新建
support/bootstrap/ThinkOrm.php
,内容如下:<?php namespace support\bootstrap; use Webman\Bootstrap; use Workerman\Timer; use think\facade\Db; class ThinkOrm implements Bootstrap { // 进程启动时调用 public static function start($worker) { // 配置 Db::setConfig(config('thinkorm')); // 维持mysql心跳 if ($worker) { Timer::add(55, function () { $connections = config('thinkorm.connections', []); foreach ($connections as $key => $item) { if ($item['type'] == 'mysql') { Db::connect($key)->query('select 1'); } } }); } } }
-
进程启动配置
打开
config/bootstrap.php
,加入如下配置:return [ // 这里省略了其它配置 ... support\bootstrap\ThinkOrm::class, ];
进程启动时会执行一遍
config/bootstrap.php
里配置的类的start方法。我们利用start方法来初始化ThinkORM的配置,业务就直接可以使用ThinkORM了。 -
使用
<?php namespace app\controller; use support\Request; use think\facade\Db; class Foo { public function get(Request $request) { $user = Db::table('user')->where('uid', '>', 1)->find(); return json($user); } }
-
ThinkORM使用文档