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

Posted D董小姐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

 

以上是关于6月14日 空操作 命名空间 视图的主要内容,如果未能解决你的问题,请参考以下文章

2019年6月14日 Web框架之Django_07 进阶操作(MTV与MVC多对多表三种创建方式前后端传输数据编码格式contentTypeajax自定义分页器)

空操作命名空间

C语言第三天笔记2016年01月14日(周四)P.M

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

对 Microsoft WebSockets 命名空间感到困惑

Thinkphp 空操作空控制器命名空间