1、控制器
1.1、页面跳转与重定向
页面跳转与重定向使用需要继承TP控制器的基类然后调用对应的方法即可,在控制器基类中有跳转方法success和error,分别对应提示成功与失败,重定向可以使用redirect方法实现。(真实的源码并不在控制器基类中)
①、创建方法
②、访问测试
1.1.1、页面跳转源码解析
源码文件:thinkphp\library\traits\controller\Jump.php
跳转页面、错误页面地址及配置:
1.1.2、重定向
源码(地址同success和error):
①、创建方法
②、访问测试
1.2、空控制器与空操作
空控制器与空操作是为了增加用户体验
1.2.1、空操作
当用户访问存在的控制器下的不存在的方法时触发
①、创建空操作
②、访问测试
1.2.2、空控制器
①、创建空控制器
②、访问测试
③、再次访问一个不存在的方法
④、增加空操作
⑤、再次访问
当访问一个不存在的控制器时,会由模块下空控制器执行
当方法存在时,直接执行空控制器下的方法
当方法不存在时,直接执行空控制器下的空操作
在实现开发过程中可以使用web服务器的错误设置页面提高用户体验。
2、视图
2.1创建视图
2.1.1、视图创建规则
①、视图存储在每一个模块下的view目录中
②、TP建议在view目录下创建一个和控制器名称相同的目录(文件夹名称小写)
③、关于模板文件名称需要和方法名称保持一致
2.1.2、创建视图
①、创建控制器方法
②、将页面相关静态资源拷贝到public目录下
③、修改模板中静态文件的相对地址(其中__STATIC__即为public目录,可在配置文件中修改)
2.1.3、跨模块调用模板
2.1.4、跨控制器调用模板
2.2、变量分配
①、使用assign方法实现
②、使用fetch方法赋值
对于模板赋值只要继承了基类就可以使用assign方式赋值,不需要考虑如何渲染模板,fetch和view在使用上也是一致的
2.3、模板渲染规则
模板渲染规则同smarty语法,模板相关设置在配置文件中
自定义模板字符串内容替换:
即:将模板中出现数组键名的字符串替换为数组对应的键值
由于模板中显示变量每次都需要进行手动赋值,而有些数据在框架内部完成了赋值操作,模板系统变量统一采用"$Think"开头。
模板系统变量所支持的类型包括:
①、显示TP的配置信息
②、显示TP内置的常量或者PHP内置常量
③、显示PHP超全局数组,例如 _POST等
④、显示时间
模板内置标签之volist
还支持使用
empty指定数据为空时显示
mod指定计算器,可以用于实现隔行换色效果
key指定循环次数的变量名称
①、基本循环
②、使用偏移量及循环长度
③、使用key
④、使用mod
为适应语法环境,将模板标签替换为"<{“和”}>"
3、DB数据库操作
3.1、配置数据库的连接
3.2、获取DB类的对象
①、使用助手函数
②、使用DB类的table方法
③、使用DB类的name方法
table与name方法的区别在于,name方法不需要表前缀
3.3、数据的基本增删改查
3.3.1数据写入
单条记录写入采用insert方法
返回插入成功的条数
批量添加数据采用insertAll方法
3.3.2、数据查询
查询数据可以使用find与select方法实现,find只查询一条数据,select可查询多条数据
find:
select:
3.3.3、更新数据
数据更新使用update方法
更新之后返回的结果为受影响行数,如果要判断是否更新成功,需要将结果与false进行全等判断
3.3.4、数据删除
删除数据采用delete方法实现