thinkphp学习笔记(一)
- 包含文件:
{include file="filename" /}
等号前后不能有空格,不然会出错 - 前端中(view)建一个文件夹common(名字可改)用于存放公共文件,例如每一个页面公用的头部
header
和 尾部foot
- 试图渲染:
return $this->fetch()
默认渲染index
,可在括号内指定渲染模板 - 可在前后台各建立一个
config.php
文件,用于区分前后台的配置,配置内容可参考application
下的config.php
,各自文件夹里的config.php
将作用于各自的应用 - 在
public/static
目录下可以分别创建admin
和index
目录用于存放前后台的静态样式文件,并在config.php
中配置一个讲台常亮用来简化引用时的路径:
return [
'view_replace_str' => [
'__PUBLIC__' =>SITE_URL. '/public/static/admin',
'__ROOT__' => '/',
],
];
然后在入口文件定义根目录
define(`SITE_URL`, `http://think.com/Think_CMS` );//定义网站根目录
简化后的引入方法为:
<script type="text/script" src='__PUBLIC__/style/demo.js'></script>
- 引入其他视图用
href='{:url('模块/视图')}'
- 使用 Db 类的 insert 方法向数据库提交数据
$data = ['foo' => 'bar', 'bar' => 'foo'];
Db::table('tablename')->insert($data);
insert 正常情况返回1,
还可以用助手函数执行添加操作
// 添加单条数据
db('user')->insert($data);
// 添加多条数据
db('user')->insertAll($list);
- 验证器:为具体的验证场景或者数据表定义好验证器类,直接调用验证类的check方法即可完成验证,我们定义一个
\app\index\validate\User
验证器类(在模块下创建一个validate文件夹存放验证器文件如User.php)用于User的验证:
namespace app\index\validate;
use think\Validate;
class User extends Validate
{
protected $rule = [ //定义验证规则
'name' => 'require|max:25',
'email' => 'email',
];
protected $message = [ //自定义错误信息
'name.require' => '名称不能为空',
];
protected $scene = [ //定义验证场景
'add' => [
'name' => 'require',
],
];
}
在需要验证的地方,使用验证器:
$data = [
'name'=>'thinkphp',
'email'=>'thinkphp@qq.com'
];
$validate = Loader::validate('User');
if(!$validate->check($data)){ //如果有验证场景则是!$validate->sence('验证场景')->check($data)
dump($validate->getError());
}