6月14日 空操作 命名空间 视图

空操作:

方法1:

MainController.class.php:

        function _empty()
    {
        echo "网页不存在,请检查浏览器地址信息";
    }

方法2:

给空操作的名称制作一个同名的模板出来,系统会自动调用

空控制器:

创建EmptyController.class.php,以及对象调用指定的方法:

<?php
namespace Home\Controller;
use Think\Controller;

class EmptyController extends Controller
{
    function _empty()
    {
        echo "访问的页面不存在";
    }
}

跨控制器调用:

IndexController.class.php:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index()
    {
    }

    public function ShuChu()
    {
        return "教务";
    }

}

MainController.class.php:调用Index控制器的Shuchu方法

        function ShuChu()
    {
        //造对象
        /*$index = new IndexController();
        echo $index->ShuChu();*/

        //A方法
        /*$index = A(Index);
        echo $index->ShuChu();*/

        //R方法,造对象并调用方法
        //echo R("Index/ShuChu");

        //跨模块调用,需在控制器前加模块名称,例A("模块/控制器")或D("模块/控制器/方法")

    }

系统变量;

public function Text()
    {
        $attr = array("one"=>hello,"two"=>world);

        $this->assign("attr",$attr);//数组输出
        $this->assign("text",123);//变量输出
        $this->display();
    }

Text.html:

<body>
<h1>测试页面</h1>
<div><{$text}></div>
<div><{$attr[one]}></div>

<div>
<if condition="$text lt 5">
<div>错误</div>
<else />
<div>正确</div>
</if>
</div>
</body>

父子模板:

MainController.class.php:

public function zi()
    {
        $this->display();
    }

fu.html:

<body>
<block name="top">
<div>头</div>
</block>

<block name="content">
<div>中</div>
</block>

<block name="foot">
<div>尾</div>
</block>

</body>

zi.html:

<extend name="fu" />
<block name="content">
<div style="height:100px; width:100px; background-color:yellow"></div>
</block>

系统变量输出
例:
<{$Think.cookie.name}> //输出$_COOKIE["name"]变量
支持输出$_SERVE,$_ENV,$_POST,$_GET,$_REQUEST,$_SESSION,$_COOKIE变量

常量输出
<{$Think.const.MOOULE_NAME}>或<{$Think.MOOULE_NAME}>(注意:常量使用除了双下划线开头以外,双下划线可直接使用)

配置输出
<{$Think.config.url_model}>

默认值输出
<{$ceshi|default="默认"}>

使用运算符(不再支持点语法和常规的函数用法)
+ -  *  /  ++   --  %

模板继承:子模板类似是对父模板的重写,可简省代码

三元运算符:(不支持点语法)
<{$pd?"男":"女"}>

包含文件:(include标签)
<include file="控制器/操作" />

内置标签(==/eq;>/gt;<lt)
<if condition="$id eq 5">
<else />
</if>

foreach标签 (name 值为变量名,item值为循环出的每一项的值)
<foreach name="shuzuming" item="v">
<div><{$v}></div>
</foreach>

for标签
<for start="开始值" end="结束值" comparison="默认lt小于" step="步进值,默认1" name="循环变量名,默认i">
</for>

模板替换
1.__ROOT__:会替换成当前网站的地址(不含域名)
2.__APP__:会替换成当前应用的URL地址(不含域名)
3.__MOOULE__:会替换成当前页面的URL地址(不含域名)
4.__CONTROLLER__:会替换成当前控制器的URL地址(不含域名)
5.__ACTION__:会替换成当前操作的URL地址(不含域名)
6.__SELF__:会替换成当前页面的URL
7.__PUBLIC__:会替换成当前网站的公共目录,通常是/Public/

命名空间:

命名空间:
相当于一个虚拟的目录

正常管理文件使用文件夹--物理区分

TP框架的初始命名空间是:ThinkPHP\Library

在TP框架下命名空间里面使用\代表的是初始命名空间(ThinkPHP\Library)

1.系统目录下根命名空间是ThinkPHP\Library下面的文件夹名称命名的

2.模块的根命名空间是以模块名命名的

在定义命名空间的时候需要从根写起例如:Home\Controller 例如:Think\Model

如果要使用某个类文件,引入该类命名空间的时候:
使用use关键字,后面写该类的命名空间 后面加上 "\文件名"

如果不想引入命名空间:在造类的对象的时候可以使用\(初始命名空间)来找到对应的类
例如:new \Think\Page(30);

时间: 2024-10-16 00:29:17

6月14日 空操作 命名空间 视图的相关文章

1946年2月14日 世界上第一台计算机诞生

1946年2月14日世界上第一台计算机诞生工作中的ENIAC 1946年2月14日,世界上第一台电脑ENIAC在美国宾夕法尼亚大学诞生. 第二次世界大战期间,美国军方要求宾州大学莫奇来(Mauchly)博士和他的 学生爱克特(Eckert) 设计以真空管取代继电器的"电子化"电脑--ENIAC (Electronic Numerical Integrator and Calculator), 电子数字积分器与计 算器), 目的是用来计算炮弹弹道. 这部机器使用了18800个真空管,长5

六周第三次课(3月14日)

六周第三次课(3月14日)9.6/9.7 awk扩展 9.6 awk(上)把passwd文件拷贝到目录awk,做实验. 打印文档中的某段 打印第1段的用法示例如下: 打印所有段的用法示例如下:不需要制定分隔符 不制定分隔符,会以空格和空白字符为为空隔符去打印.创建一个测试文件. 打印第1第3第4段的用法.中间要加逗号. 自定义分隔符为#,自定义的内容要加"" 打印包含某字符或字符串的行 打印含有oo的行,命令如下: 打印第1段含有oo的行,命令如下: 可以分段匹配,比sed强. awk

2019年8月14日星期三(系统编程)

2019年8月14日星期三 一.线程属性  -> 分离属性 1. 什么是分离属性? 分离: 说明主线程不需要接合子线程  -> 不需要pthread_join子线程  -> 当主线程退出时,子线程还是会退出. 非分离: 说明主线程需要接合子线程  -> 需要pthread_join子线程 默认pthread_create()创建出来的线程都是非分离属性. 2. 如何创建出分离属性的线程呢? 思路: 添加分离属性到一个属性变量中,然后使用该属性变量去创建一个新的线程,那么这个线程就是

2017年8月14日套题记录 | 普及组

写在前面 今天登洛谷发现离Noip剩下88天了??(虽然看起有点久),然后觉得似乎水了一个暑假什么也没做(虽然学了点数据结构和一些奇奇Gaygay的东西),于是打开题库发现去年Long Happy的集训套题我似乎没有提交过,那就一天一套题,顺便码个题解+心得(雾? T2.传作业 题目描述 某十三同学一日上学迟到,此时已经开始上早自习了,所以他只好请同学帮忙把作业传到组长那里.由于刚开学不久,某十三同学还没来得及认识所有同学,所以传作业时只好找熟悉的同学.已知某十三与组长之间有N个他熟悉的同学,并

2017年3月14日下午日志

2017年3月14日下午复习了高等数学,观看了张宇高等数学第八讲教学视频线性代数部分的运算方法的方法,积累了更多学习技巧,对线性代数部分的行列式和矩阵的概念和性质有了了解,并做书上例题1.1-1.5,晚上背英语单词100个.

Fedora 24 Linux系统将于6月14日正式发布

去年11月3日,Fedora Project发布了Fedora 23,时隔7个月,Fedora 24也将正式降临.最新消息显示,目前Fedora 24 Linux操作系统的研发已经接近尾声,计划将于6月14日正式发布. 据悉,Fedora 24基于Linux 4.5内核,搭载最新GNOME 3.20.Xface 4.12和KDE Plasma 5.6桌面环境,除了数款系统软件和核心组件获得升级外,该系统还预装了LibreOffice 5.1.3和Mozilla Firefox 46.0.1浏览器

【美】丹 ? 西蒙斯 - 海伯利安的陨落(2015年1月14日)

<海伯利安的陨落> 作 者:[美]丹 ? 西蒙斯译 者:潘振华 李懿系 列:海伯利安出 版:读客图书字 数:511千字阅读完成:2015年1月14日

冲刺阶段(二)第四天 5月14日

昨天:通过上网以及老师的课件,学习项目可行性报告的详细写法,对于这类文档的书写有了更深一层的认识,在此过程中,对本软件也有了一些新的想法,在以后的软件编写过程中会有选择性的将部分功能添加进去,是软件功能更加完善. 今天:通过对Android视频TabHost以及Menu的学习,对Android的人是更加深刻,并学会了更多的新的功能.通过上网和查询老师课件,学会了软件详细文档的书写,能够系统地把握文档书写的脉络. 困难:对于一些流程图的规范书写还不能够熟练掌握. 冲刺阶段(二)第四天 5月14日,

5月14日 绿城育华NOIP巨石杯试卷解析

[题外话] 感谢UBUNTU为保存程序做出贡献:https://paste.ubuntu.com : 感谢洛谷OJ的私人题库保存题面:https://www.luogu.org : 现在我的题解的所有程序均保存在UBUNTU上,需要时单击超链接查看 : 由于题目的不确定性,现在所有测试数据的建立全部来自于参加本次巨石杯的选手 OYCY & LSH 下面的程序为本人程序,暂且未知评测状态,会有误差,会及时更正!!! 5月14日 绿城育华NOIP巨石杯试卷解析 T1 最大的最小 [地址]https: