一、包含文件
{include file="public/header" /} // 包含头部模版header
{include file="public/menu" /} // 包含菜单模版menu
{include file="blue/public/menu" /} // 包含blue主题下面的menu模版
二、可以一次包含多个模版,例如:
{include file="public/header,public/menu" /}
三、可以直接包含一个模版文件名(包含完整路径),例如:
{include file="../application/view/default/public/header.html" /}
四、调试执行的SQL语句
User::get(1);
echo User::getLastSql();
输出结果是 SELECT * FROM 'think_user' WHERE 'id' = '1'
也可以使用fetchSql方法直接返回当前的查询SQL而不执行,例如:
echo User::fetchSql()->find(1);
五、监听SQL
Db::listen(function($sql,$time,$explain){
// 记录SQL
echo $sql. ' ['.$time.'s]';
// 查看性能分析结果
dump($explain);
});
注:默认如果没有注册任何监听操作的话,这些SQL执行会被根据不同的日志类型记录到日志中。
六、模型数据验证
$User = new User;
$result = $User->validate(
[
'name' => 'require|max:25',
'email' => 'email',
],
[
'name.require' => '名称必须',
'name.max' => '名称最多不能超过25个字符',
'email' => '邮箱格式错误',
]
)->save($data);
if(false === $result){
// 验证失败 输出错误信息
dump($User->getError());
}
注:第二个参数如果不传的话,则采用默认的错误提示信息。
如果使用下面的验证器类的话:
namespace app\index\validate;
use think\Validate;
class User extends Validate
{
protected $rule = [
'name' => 'require|max:25',
'email' => 'email',
];
protected $message = [
'name.require' => '用户名必须',
'email' => '邮箱格式错误',
];
protected $scene = [
'add' => ['name','email'],
'edit' => ['email'],
];
}
模型验证代码可以简化为:
$User = new User;
// 调用当前模型对应的User验证器类进行数据验证
$result = $User->validate(true)->save($data);
if(false === $result){
// 验证失败 输出错误信息
dump($User->getError());
}
如果需要调用的验证器类和当前的模型名称不一致,则可以使用:
$User = new User;
// 调用Member验证器类进行数据验证
$result = $User->validate('Member')->save($data);
if(false === $result){
// 验证失败 输出错误信息
dump($User->getError());
}
同样也可以支持场景验证:
$User = new User;
// 调用Member验证器类进行数据验证
$result = $User->validate('Member.edit')->save($data);
if(false === $result){
// 验证失败 输出错误信息
dump($User->getError());
}
六、加载外部文件用
import(' 类文件名称','类文件所在的路径');
例:import('Auth',EXTEND_PATH.DS.'Auth');在tp的扩展文件夹下的Auth文件夹下
- 环境搭建
- centos6.5 lnmp环境搭建
- svn环境搭建
- centos lamp安装配置
- mysql
- mysql常用命令
- mysql技术内幕
- 1.1mysql体系结构
- 1.2mysql存储引擎
- 1.3mysql连接
- linux
- linux-常用命令
- linux下vim命令
- 第三方平台开发
- 微信开发之旅
- php
- php框架
- lavarel常用命令
- thinkPhp常用命令
- yii2.0.8
- 安装
- yii常用
- yii配置
- yii常用2
- php源码积累
- php字符串截取
- php图片处理(gd)
- 二维数组保持索引排序(高低)
- 获取一个月首尾天数
- 时间函数
- php内置函数
- html
- js
- 基本命令
- js案例
- js去空格
- css
- 基本样式
- 案例
- ul li 横向水平居中自适应案例
- 固定底部导航栏并自适应
- 购物车带角标
- display的兼容解决
- 前端框架
- boostrap
- 常用类
- git
- 上传项目到远程仓库GitHub