空操做:php
方法1:html
MainController.class.php:數組
function _empty() { echo "網頁不存在,請檢查瀏覽器地址信息"; }
方法2:瀏覽器
給空操做的名稱制做一個同名的模板出來,系統會自動調用cookie
空控制器:框架
建立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方法this
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; padding: 0px; color: rgb(0, 0, 255); line-height: 1.5 !important;">></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);