1.路由
定义路由分组,不用每次去遍历完整的路由,提高路由匹配效率。
2.html 头尾文件引入
<include file="Public/menu"/> 首先file后不能有空格,file的路径是view层的路径(反复试出来的。。。)
3.tp5使用事务
// 手动控制事务的提交
Db::startTrans();
try{ Db::table('tp_data')->delete(2);
Db::table('tp_data')->insert(['id'=>8,'name'=>'thinkphp','status'=>1]);
// 提交事务
echo 'try'; Db::commit();
}catch(\Exception $e){
// 回滚事务
echo 'catch';
Db::rollback(); }
4.model 模型层使用
首先要在application/下面见一个model文件夹,在里面创建数据库表的model层
命名:数据库表是什么就命名什么文件,如果已经配置表前缀了,就不用写表前缀了(例子:a_user 如果已经在框架里配置不用加a_表前缀,那命名就是 User.php 我后端用的是PHP),如果是a_user_info,那就命名为UserInfo(也就是后面有下划线的去掉,下划线后第一个字母大写)
使用方式
use 引入
use \app\index\model\user;//(user是模型的名字)
$res = user::get(1);
$res->toArray();
实例化数据模型
$user = new User();
$res = $user::get(2);
$res->toArray();
导入loader类
use \think\loader;
$user = loader::model("user");
$res = $user::get(3);
$res->toArray();
$user = model("user");
$res = $user::get(4);
$res->toArray();
原生sql
引入 use/think/Db;
query 用于查询 其他的用execute
插入记录
$result = Db::execute('insert into sb_ad (ad_name, ad_content ,status) values (1, "456",1)');
dump($result);
更新记录
$result = Db::execute('update sb_ad set ad_name = "framework" where ad_id = 1 ');
dump($result);
查询数据
$result = Db::query('select * from sb_ad where ad_id = 1');
print_r($result);
删除数据
$result = Db::execute('delete from sb_ad where ad_id = 2 ');
dump($result);
其它操作
显示数据库列表
$result = Db::query('show tables from tpshop1');
print_r($result);
清空数据表
$result = Db::execute('TRUNCATE table sb_ad');
dump($result);