黑马程序员技术交流社区

标题: 【郑州校区】ThinkPHP框架笔记详解(中) [打印本页]

作者: 我是楠楠    时间: 2017-12-13 14:45
标题: 【郑州校区】ThinkPHP框架笔记详解(中)
本帖最后由 我是楠楠 于 2017-12-13 14:47 编辑

【郑州校区】ThinkPHP框架笔记详解(上)

五.view视图模板
下图显示每个控制器都会调用自己的模板文件以便输出、渲染网页效果。

1. 调用模板
控制器的方法中调用如下方法:
$this -> display();                   //模板名称与当前操作方法的名称一致
$this -> display(模板名称);                  //调用当前控制器对应目录指定名称的模板
$this -> display(控制器/模板名称);  //调用其他控制器下的具体模板文件
                                                                        //或 display(控制器:模板名称);
$this -> display(相对路径模板文件); //调用自定义模板文件,该模板不在传统的View目录里边,该模板相对index.php入口文件进行定位
通过错误提示,就知道如何创建对应的视图模板文件:

在View里边创建控制器标识子级目录
在具体的控制器标识目录里边创建模板文件,后缀已经配置好,是.html
控制器渲染视图模板文件的display方法一共有4种使用形式:
其中最后一种渲染的模板是相对index.php入口文件进行定位的
调用自己控制器标识下的模板文件效果:
2. 已有模板与tp框架做结合
具体实现步骤:
A. 复制模板文件(内容)到View指定目录
B. 复制css、img、js静态资源文件到系统指定目录
C. 在模板文件中通过“模板常量”引入静态资源(css、img、js)文件
后续A、C重复实现即可
实现A步骤:
实现B步骤:
在Public里边创建子级目录Home,并粘贴静态文件:
实现C步骤:
在模板中通过__PUBLIC__定位我们需要的静态资源文件:
上图的__PUBLIC__是一个“模板常量”,其在模板文件中会被自动替换为具体的访问路径信息,为http://网址/Public
在thinkphp框架的Behavior行为里边实现的替换:
在全部的模板中,通过__PUBLIC__访问静态资源文件:
已有模板与tp框架整合的效果:
3. 其他页面整合
实现A步骤:,复制模板文件:
实现C步骤,通过__PUBLIC__模板常量访问静态文件(css/img/js):
访问效果之一:
通过ABC步骤,把商品的列表展示详情展示会员登录注册首页 等5个模板与tp框架整合好
六. 后台页面搭建1. 分组设置
项目里边有前台Home后台Admin两个分组
前台、后台本质上看都是“controller控制器”、“view视图”和“model模型” 的组合,为了开发、维护方便要把它们存储到不同的分组里边,这个分组成为平台分组。
平台分组:
        同一个项目里边,由于业务规则的划分,有多个相关的功能模块,它们都有独立的控制器、view视图、model模型、配置文件、函数库文件等文件,为了开发维护方便,就给它们创建独立的平台分组出来
        如果还有其他的业务功能模块,也都是独立的,可以继续创建分组。
后台Admin分组与前台Home分组都是平等的,内部的文件结构完全一致
Admin内部把暂时不需要的控制器和view视图给删除掉,保留现在的样子:
对分组进行访问:
http://网址/index.php/分组/控制器/操作方法
http://网址/index.php/Admin/控制器/操作方法      //对admin分组进行访问
http://网址/index.php/Home/控制器/操作方法      //对home分组进行访问
2. 后台登录页面搭建
已有模板与tp框架结合的具体实现步骤:
A. 复制模板文件(内容)到View指定目录
B. 复制css、img、js静态资源文件到系统指定目录(Public)
C. 在模板文件中通过“模板常量__PUBLIC__”引入静态资源(css、img、js)文件
后续搭建其他页面重复A、C两个步骤即可
① 创建ManagerController控制器
② 实现A步骤,复制模板文件
③ 实现B步骤,复制静态资源文件到Public目录
④ 实现C步骤,通过__PUBLIC__模板常量访问静态文件
管理员登录效果:
3. 后台“品字”首页面搭建
① 创建控制器和操作方法
② 实现A步骤,复制模板文件
③ 实现C步骤,在各个模板中通过__PUBLIC__访问静态文件
④ 后台“品”字页访问效果
3.1 frame的src属性值
1) 独立路由请求
上图每个frame会触发一个独立的路由请求(并不是直接请求模板文件),请求地址具体如下:
http://网址/index.php/Admin/Index/top.html
http://网址/index.php/Admin/Index/left.html
http://网址/index.php/Admin/Index/right.html
2) 伪装后缀
上图frame的src属性值中有.html后缀体现,其为伪装后缀,是否设置都不影响请求
3) 完整路由地址
在frame的src属性值中,最好通过“完整路由地址”进行请求设置,否则会受到路由地址的影响,而发生错误请求
tp框架提供了一个函数可以帮组生成一个“完整请求路由地址”
U([分组/控制器/]操作方法)
例如:
U(showlist)---------------------------->        http://网址/index.php/当前分组/当前控制器/showlist
U(Goods/showlist)------------------->        http://网址/index.php/当前分组/Goods/showlist
U(Home/Goods/showlist)----------->        http://网址/index.php/Home/Goods/showlist
通过U()函数制作不同情况的请求地址:
tp框架的模板引擎也可以使用php函数,形式为
{:函数名称(参数,参数)}
如下图,在模板中通过U()函数给frame的src制作完整请求路由地址:
通过U()函数制作好的请求地址如下图:
现在我们的后台品页的请求,不会再受到请求地址的相关参数影响了(不设置控制器和操作方法,也不影响各个分支frame的请求):
4. 后台商品相关页面搭建
① 创建控制器及操作方法
②实现A步骤,复制模板文件
③ 实现C步骤,全部商品模板要通过__PUBLIC__实现静态文件引入
④ 实现商品页面与后台“品”字页整合
点击左侧“数据列表”按钮,右侧frame窗口显示内容:
超链接a标签的target属性值,是设置超链接页面在什么地方打开的
<a  target=”_top/_blank/_self/frame的name属性值”>
_top: 在全部的frameset页面打开超链接
_blank: 在一个新页面打开超链接
_self: 在本身页面打开超链接
frame的name属性值:在指定的frame标签里边打开超链接
(如果不设置target属性,就在本身页面打开超链接,与_self效果一样)
在商品列表页,点击“添加”按钮,显示添加商品的表单页出来:
添加页面里边,制作“返回按钮”:
在商品列表页,点击“修改”按钮,显示添加商品的表单页出来:
修改页面里边,制作“返回按钮”:
各个页面呈现的效果体现:



【郑州校区】Python3 创建虚拟环境
【郑州校区】python基础之基本指令汇总
【郑州校区】Ubuntu 如何创建快捷方式

【郑州校区】python基础班之Linux 终端命令格式
【郑州校区】python基础班笔记之python操作系统
【郑州校区】subline 取消自动更新提示
【郑州校区】常用 Linux 命令的基本使用
【郑州校区】MyBatis 入门开发 —-基础入门
【郑州校区】文件和目录常用命令
【郑州校区】MyBatis 入门开发 ----Mapper接口开发
【郑州校区】系统信息相关命令
【郑州校区】用户权限相关命令
【郑州校区】远程管理常用命令
【郑州校区】文件和目录(理解)
【郑州校区】python学习之其他命令
【郑州校区】MyBatis 入门开发 ----配置文件
【郑州校区】MyBatis 入门开发 ----输入,输出参数
【郑州校区】三大框架之Struts2-day01
【郑州校区】三大框架之Struts2-day02
【郑州校区】将第3方的jar 添加到本地Maven库
【郑州校区】Hibernate入门------HelloWord
【郑州校区】三大框架笔记之Struts2-day03
传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出



作者: 我是媛媛    时间: 2017-12-13 15:47
干活干货干货
作者: 米娅    时间: 2017-12-18 11:11





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2