一,连接数据库
1.ThinkPHP采用内置抽象层将不同的数据库操作进行封装处理;
2.数据抽象层基于PDO模式,无须针对不同的数据库编写相应的代码:
3.使用数据库的第一步,就是连接你的数据库;
4.在根目录的config下的database. php可以设置数据库连接信息;
5.大部分系统已经给了默认值,你只需要修改和填写需要的值即可;
6.本地测试,会优先采用.env的配置信息,我们和database配置对应上即可;
'type'
=> Env: :get('database.type', 'mysq1'),
' hostname'
=> Env: :get( 'database. hostname ',' 127.0.0.1'),
database
=> Env: :get( 'database.database', ' grade'),心
' username'
=> Env: :get( 'database .username',, ' root'),
' pas sword '
=> Env: :get( 'database . password', '123456' ),
' hostport '
=> Env: :get( 'database .hostport', '3306'),
' charset'
=> Env: :get( 'database. charset', 'utf8'),
'prefix'
=> 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();
return json($user);
}
二.模型初探
1.在app目录下创建一一个model目录,并创建User.php的模型类;
namespace app\model ;
use think\Model;
class User extends Model
{
protected $connection ='demo' ;
}
2.User继承模型基类,即可实现数据调用,后面章节会详解讲解;
3. 而受保护的字段$connection, 则是切换到demo数据库;
4.控制器端的调用方式如下,具体原理,后面模型章节会详解;
public function getUser( )
{
$user = User: :select();
return json($user);
}