模板常量替换机制
__MODULE__:表示从域名后面开始一直到分组名结束的路由
__CONTROLLER__:表示从域名后面开始一直到控制器结束的路由
__ACTION__:表示从域名后面开始一直到方法名结束的路由
__PUBLIC__:站点根目录下的public目录路由
__SELF__:表示从域名后面开始一直到路由的最后
模板内容获取
在Thinkphp中,获取模板内容通过$this->fetch()方法
打印输出通过dump()方法。
fetch方法和display方法相比,没有display方法的输出。
public function test1(){
$str1 = $this->fetch();
dump($str1);
}
模板注释
在ThinkPHP中,模版注释有两种方法:注释内容在输出里是没有的。
行注释:{//注释内容}
块注释:{/*注释内容*/}
变量分配(进阶)
简单变量输出:前面已学习过,{$模板变量名}
一维数组输出:中括号形式:{ayyay[key]}、点形式:{array.key}
二维数组输出:中括号形式:{ayyay[key][key]}、点形式:{array.key.key}
对象变量输出:对象在实例化后一般会保存在一个变量中去,这个变量也可以输出到模板中去。
{$obj->attr}、{$obj::attr}
系统变量
thinkphp提供了几个系统级别的变量(超全局变量在模板中的使用)
- $Think.server
- $Think.get
- $Think.post
- $Think.request
- $Think.cookie
- $Think.session
- $Think.config:获取thinkphp中所有配置文件的一个总和
举例:获取GET请求中的id,则可以写成{$Think.get.id}
默认值
当某个变量不存在或为空时,就会默认显示的字符,默认的字符就是变量的默认值。
语法:{$变量名|default=默认值}
运算符
{$a+$b}、{$a-$b}、{$a*$b}、{$a/$b}、%、++、--等
文件包含
<include file='需要引入的模板文件' 参数名=‘参数值’>
模型
什么是模型:是MVC三大组成部分,作用是负责与数据表的交互(CURD)。
模型的创建:
命名规范:模型名(要求是不带前缀的表名且首字母大写)+Model关键词+.class.php
模型的实例化:
D方法实例化:
$obj=D(['模型名']);//实例化自己创建的模型(分组/Model目录中)
M方法实例化:
$obj=M(['不带前缀的表名']);//直接实例化父类模型(thinkphp目录下的model)
数据库的配置
数据库的配置项可以在系统配置文件找到,将这里的配置复制到应用级别的配置文件中。
数据库的操作
CURD操作:Create、Update、Read、Delete
增加操作:
insert into ==> $model->add()方法
修改操作:
update table => $model->save()方法
查询操作:
select => $model->select()方法,查询全部的信息
select => $model->select(id)方法,查询指定ID的信息
select => $model->select('id1,id2,id3....')方法,查询指定ID集合的信息
删除操作:
delete from => $model->delete()方法,不能使用,删除方法必须要有条件
delete from => $model->delete(id)方法
delete from => $model->delete('id1,id2,id3....')方法
SQL的调试:
$model->getLastSql()或$model->_sql()。会输出当前模型最后一条SQL语句
跟踪信息:
开启了Thinkphp跟踪信息后,会在页面右下角显示一个小图标:
点击这个小图标,会弹出如下界面:
两种模式:
为了方便开发,thinkphp提供了以下两种模式:默认是生产模式
调试模式:错误信息比较详细
生产模式:错误信息比较模糊