命名空間:
至關於一個虛擬的目錄php
正常管理文件使用文件夾--物理區分框架
TP框架的初始命名空間是:ThinkPHP\Libraryspa
在TP框架下命名空間裏面使用\表明的是初始命名空間(ThinkPHP\Library)code
1.系統目錄下根命名空間是ThinkPHP\Library下面的文件夾名稱命名的對象
2.模塊的根命名空間是以模塊名命名的blog
在定義命名空間的時候須要從根寫起例如:Home\Controller 例如:Think\Modelio
若是要使用某個類文件,引入該類命名空間的時候:
使用use關鍵字,後面寫該類的命名空間 後面加上 "\文件名"function
若是不想引入命名空間:在造類的對象的時候能夠使用\(初始命名空間)來找到對應的類
例如:new \Think\Page(30);class
空操做命名空間
當訪問的方法不存在時,能夠定義一個empty方法來避免空操做
function _empty() { echo "網頁不存在,請檢查地址信息"; }
這樣當訪問不存在的方法時就會顯示以上信息
當訪問的控制器不存在時,能夠定義一個空操做器
<?php namespace Home\controller; use Think\controller; class EmptyController extends Controller { function _empty() { echo "訪問的頁面不存在!"; } }
這樣當訪問不存在的控制器時就會顯示以上信息
跨控制器調用方法
Main控制器下:
function ShuChu() { //造對象 $index = new IndexController(); echo $index->ShuChu(); //使用A方法造對象 $index = A("Index"); echo $index->ShuChu(); //使用R方法,造對象而且調用某個特定方法 echo R("Index/ShuChu"); }
Index控制器下:
public function ShuChu() { echo "教務管理系統"; }
跨模塊調用方法
Home模塊下:
function ShuChu() { $text = A("Admin/Text"); echo $text->Text(); echo R("Admin/Text/Text"); }
Admin模塊下:
<?php namespace Admin\controller; use Think\controller; class TextController extends Controller { function Text() { echo "hello"; return "Admin模塊下的操做"; } }