在laravel/lumen之外使用Eloquent

这周刚做完学校的一个智能硬件比赛的作品,我负责后端服务器,以及配套App的制作。整个一块都用socket进行数据传输,但是其中涉及到的数据库的操作,最近lumen用的比较多,觉得它的数据库的组件特别方便,所以就想看看能不能单独拿出来使用。

经过一番查找资料,主要分为两步进行

安装相应的数据库包

这里使用5.2的包,可以更具自己的需求进行更换

1
composer require illuminate/database ~5.2

设置启动文件(start.php)

这里将配置文件与启动文件分开,也可以合并在一起。我直接使用了一个php文件返回数组,也可以引入vlucas/phpdotenv使用.env文件来配置变量

start.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
/**
* Created by mohuishou<1@lailin.xyz>.
* User: mohuishou<1@lailin.xyz>
* Date: 2016/11/14 0014
* Time: 18:50
*/
$database = require_once "config.php";

use Illuminate\Container\Container;
use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule;

// 创建链接
$capsule->addConnection($database);

// 设置全局静态可访问DB
$capsule->setAsGlobal();

// 启动Eloquent
$capsule->bootEloquent();

config.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
/**
* Created by PhpStorm.
* User: lxl
* Date: 16-11-17
* Time: 下午8:38
*/
return [
'driver' => 'mysql',
'host' => "localhost",
'database' => "smart_lock",
'username' => "root",
'password' => "mima",
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => "",
];