龙空技术网

thinkphp连接数据库与模型初探007

App定制开发外包 58

前言:

此时你们对“thinkphp 连接数据库”可能比较关心,我们都需要知道一些“thinkphp 连接数据库”的相关文章。那么小编同时在网络上收集了一些有关“thinkphp 连接数据库””的相关内容,希望我们能喜欢,同学们快快来了解一下吧!

007. 连接数据库与模型初探

本节课我们来了解一下数据库的连接方式,通过参数的配置连接 MySQL 数据库。

一.连接数据库

1. ThinkPHP采用内置抽象层将不同的数据库操作进行封装处理;

2. 数据抽象层基于PDO模式,无须针对不同的数据库编写相应的代码;

3. 使用数据库的第一步,就是连接你的数据库;

4. 在根目录的config下的database.php可以设置数据库连接信息;

5. 大部分系统已经给了默认值,你只需要修改和填写需要的值即可;

6. 本地测试,会优先采用.env的配置信息,我们和database配置对应上即可;

'type'

'hostname'

'database'

'username'

'password'

'hostport'

'charset'

'prefix'

=> Env::get('database.type', 'mysql'),

=> Env::get('database.hostname', '127.0.0.1'), => Env::get('database.database', 'grade'),

=> Env::get('database.username', 'root'),

=> Env::get('database.password', '123456'), => Env::get('database.hostport', '3306'),

=> Env::get('database.charset', 'utf8'),

=> Env::get('database.prefix', 'tp_'),

7. 可以通过删除改变.env的配置,或删除.env来验证database的执行优先级;

8. 在database.php配置中,default表示设置默认的数据库连接;

9. connections配置数据库连接信息,可以是多个数据库,便于切换;

10. 默认的数据库连接名称为:'mysql',再复制一组数据库链接信息:'demo'切换; 11. 创建一个用于测试数据连接的控制器:DataTest.php;

namespace app\controller; use think\facade\Db;

class DataTest

{

public function index()

{

$user = Db::table('tp_user')->select();

//$user = Db::connect('mysql')->table('tp_user')->select() return json($user);

}

;

public function demo()

{

$demo = Db::connect('demo')->table('tp_user')->select();

return json($demo);

}

}

12. 暂时不必理解这里的代码,只要运行起来看到效果即可,后面章节会详解;

二.模型初探

1. 在app

2. User 3.

4.目录下创建一个 model 目录,并创建 User.php 的模型类;

namespace app\model;

use think\Model;

class User extends Model

{

protected $connection = 'demo'; }

继承模型基类,即可实现数据调用,后面章节会详解讲解;

而受保护的字段$connection,则是切换到

demo

数据库;

控制器端的调用方式如下,具体原理,后面模型章节会详解;

public function getUser()

{

$user = User::select();

return json($user);

}

标签: #thinkphp 连接数据库