webman 1.2版本支持think-orm插件,可自动安装think-orm并配置webman。该插件需要webman>=1.2.1,如果你的webman版本是旧版本,请参考以下文档手动配置安装think-orm。
安装ThinkOrmcomposer 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使用文档