-
tp5命名规范一览:
查看全部 -
tp5的三种安装方式
查看全部 -
tp3和tp5不兼容,无法完美衔接,如果需要则要修改源码和罗辑重新编写
查看全部 -
如何将 变量 分配 到 指定 的模板中??
看截图中的注释部分;会告诉我们view()中的路径怎么写;分配到的模板页面存在哪里;查看全部 -
一个index控制器(类文件),就会对应在view目录下有一个index文件夹;
index类文件里的每一个方法就会对应在view目录下的index目录下的一个html文件;
简单的说就是:
一个类对应view目录下的一个文件夹;
一个方法对应一个模板页面;我们模板一般都是html页面;
上面是tp框架默认的架构;
查看全部 -
继承{extend name="common/*" /},当内容需要与公共部分不同时,只需要采用相同的标签,更改为不同的内容即可,{block name=""}{/block},同一模板内不允许有同样的block,如果希望在原有内容基础上添加新的内容,可用{__block__}即可解析为原有内容
参考笔记:https://www.imooc.com/notepad/2034f8查看全部 -
包含和继承
视图层页面通过include方式加载公共页面
{inclue file="common/nav" /}
继承 一个页面呢可继承另外的页面
{extend file="common/base" /}
同一个页面中不允许有两个同样的block name
block表示替换被继承的页面中指定的样式或者标签
{block name="title"}
要替换的值
{/block}
layout
layout 'layout_on' =>'true' 'layout_name'=>'a'开启后默认的访问view文件机制发生变化,
会访问view/a.html,
a.html 中的{__CONTENT__}的内容会被index控制器下指定方法对应view/index/*.html文件内容替换,
从而 达到访问不同的方法,改方法对应的view文件会显示不同的内容
若要改变其他共有的部分,还可通过控制器层使用$this -> assign传值
通过给方法传递参数() a.html可以显示不同的内容
查看全部 -
{include file="common/nav" /} 可包含多个文件;
{block name='body'} 可埋多个坑,可被填多个坑;
this is body {/block} layout {__CONTENT__} 一个坑,名字都是固定的(然后按图__CONTENT__,在view下的index里面编辑的内容即会替换__CONTENT__);查看全部 -
include引入上一级目录下的nav.html文件;把view控制器的各方法的模版的公共部分提取出来放在view的common文件夹下,然后在模板原位置通过{include file=“”}进行引用
查看全部 -
一个方法对应一个模板;一个类对应view目录下的一个文件夹;
查看全部 -
学习掌握模板的布局、包含、继承;可以是我们的模板开发效率更高
查看全部 -
(推荐使用)判断标签switch:用法是 {switch name="Think.get.id"} {case value="1|2"}普通会员{/case} {default/}游客 {/switch}
* 多个值进行判断的时候可以使用| 来隔开
* 其他情况可以使用默认值标签 default/,记得加斜杠
判断范围标签{range }{in}{notin}{between}{notbetween}:
* {range name="Think.get.num" value="1,2,3" type="in"}在1,2,3之间{else/}不在1,2,3之间{/range}
* 效果等同{in name="Think.get.num" value="1,2,3" }在1,2,3之间 {else/}不在1,2,3之间 {/in}
* between、notbetween的时候,value只有两个值头尾,区间判断。
判断常量是否定义 {defined}
* {defined name="APP_PATH"}定义了{else/}没定义{/defined}
(不推荐使用)if判断
* {if condition="($Think.get.num == 1) AND ($Think.get.id == 10)"}等于1和10{else/}都不是{/if}
* condition里面可以使用and和or
查看全部 -
swith标签 Think.get.level通过URL传参获得
{switch name="Think.get.level"}
{case value="1|4"}<p>1</p>{/case} 1|4表示当get的传参值等于1或4时
{case value="2"}<p>2</p>{/case}
{case value="3"}<p>2</p>{/case}
{default/}<p>other</p>
{/switch}
range标签
type的值为between、notbetween、in、notin
当type值为in、notin时,value的值可以为多个整数如:1,2,3,10
当type值为between、notbetween时,value的值只能为两个整数如:1,10
{range name="Think.get.level" value="1,10" type="notbetween"}
<p>当前的level值不在1到10之间</p>
{else/}
<p>当前的level值在1到10之间</p>
{/range}
defined标签 判断常量是否被定义
{defined name="APP_PATH_NO"}
<p>APP_PATH_NO已定义</p>
{else/}
<p>APP_PATH_NO未定义</p>
{/defined}
if标签 条件判断
{if condition="($Think.get.level==1)"}
<p>当前的值为1</p>
{else/}
<p>当前的值不为1</p>
{/if}
查看全部 -
模板应用 比较函数 range #type = in | notin | between | notbetween
{range name="Think.get.level" value="1,2,3" type="in"}
...
{else/}
...
{/range}
########
{between name="Think.get.level" value="1,3"}
...
{else/}
...
{/betwwen}
查看全部 -
在模板页面中进行PHP脚本语言的编写;
{php} 内容 {/php} 等同于<?php 内容 ?>
查看全部
举报