## 3.4 modoo数据库类
### 1. 了解轻量级数据库框架medoo,并安装
~~~
http://medoo.lvtao.net/
~~~
安装命令:
~~~
composer require catfan/medoo
~~~
### 2. 重写model类
*D:\wamp\www\web.com\core\lib\model.php*
~~~
<?php
namespace core\lib;
use \Medoo\medoo;
class model extends medoo
{
public function __construct()
{
// 读取数据库的配置信息
$db = \core\lib\conf::all('database');
parent::__construct($db);
}
}
~~~
继承了 `medoo` 数据库操作类。
![](https://box.kancloud.cn/9d62a63371f554b0eebe12b353e6e722_974x693.png)
### 3. 新建model层
*D:\wamp\www\web.com\app\model\catModel.php*
~~~
<?php
namespace app\model;
use core\lib\model;
class catModel extends model
{
......
}
~~~
### 4. 调用model
*D:\wamp\www\web.com\app\ctrl\indexCtrl.php*
~~~
<?php
namespace app\ctrl;
use app\model\catModel;
class indexCtrl extends \core\thinkphp
{
public function index()
{
// 初始化日志log类,访问log方法
\core\lib\log::init();
// 实例化模型
$model = new catModel();
$ret = $model->select('cat', '*');
dump($ret);
}
}
~~~
![](https://box.kancloud.cn/e26d5c7c48284f2849ed58774038f729_851x435.png)
![](https://box.kancloud.cn/2db3f8d0958f5a1c0cdb5f252dfd0e95_1366x728.png)
使用 `select` 方法,读取到4条数据。
### 数据查询操作,分离到model层
*D:\wamp\www\web.com\app\ctrl\indexCtrl.php*
~~~
<?php
namespace app\ctrl;
use app\model\catModel;
class indexCtrl extends \core\thinkphp
{
public function index()
{
// 实例化模型
$model = new catModel();
$ret = $model->lists();
}
}
~~~
*D:\wamp\www\web.com\app\model\catModel.php*
~~~
<?php
namespace app\model;
use core\lib\model;
class catModel extends model
{
public $table = 'cat';
/**
* 查询全部数据
*/
public function lists()
{
$ret = $this->select($this->table, '*');
dump($ret);
}
}
~~~
您可以继续尝试添加 增、删、改 的方法。