码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-06-16 23:14:51      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:

空操作:

方法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日 空操作 命名空间 视图

标签:

原文地址:http://www.cnblogs.com/dongqiaozhi/p/5592281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!