路由綁定
可以使用路由綁定簡化URL或者路由規(guī)則的定義,綁定支持如下方式:
綁定到模塊/控制器/操作
把當(dāng)前的URL綁定到模塊/控制器/操作,最多支持綁定到操作級別,例如在路由配置文件中添加:
// 綁定當(dāng)前的URL到 index模塊
Route::bind('index');
// 綁定當(dāng)前的URL到 index模塊的blog控制器
Route::bind('index/blog');
// 綁定當(dāng)前的URL到 index模塊的blog控制器的read操作
Route::bind('index/blog/read');
該方式針對路由到模塊/控制器/操作有效,假如我們綁定到了index模塊的blog控制器,那么原來的訪問URL從
http://serverName/index/blog/read/id/5
可以簡化成
http://serverName/read/id/5
如果定義了路由
Route::get('index/blog/:id','index/blog/read');
那么訪問URL就變成了
http://serverName/5
綁定到命名空間
把當(dāng)前的URL綁定到某個指定的命名空間,例如:
// 綁定命名空間
Route::bind('\app\index\controller','namespace');
那么,我們接下來只需要通過
http://serverName/blog/read/id/5
就可以直接訪問 \app\index\controller\Blog
類的read方法。
綁定到類
把當(dāng)前的URL直接綁定到某個指定的類,例如:
// 綁定到類
Route::bind('\app\index\controller\Blog','class');
那么,我們接下來只需要通過
http://serverName/read/id/5
就可以直接訪問 \app\index\controller\Blog
類的read方法。
注意:綁定到命名空間和類之后,不會進(jìn)行模塊的初始化工作。
入口文件綁定
如果我們需要給某個入口文件綁定模塊,可以使用下面兩種方式:
常量定義
只需要入口文件添加BIND_MODULE
常量,即可把當(dāng)前入口文件綁定到指定的模塊或者控制器,例如:
// 定義應(yīng)用目錄
define('APP_PATH', __DIR__ . '/../application/');
// 綁定到index模塊
define('BIND_MODULE','index');
// 加載框架引導(dǎo)文件
require __DIR__ . '/../thinkphp/start.php';
自動入口綁定
如果你的入口文件都是對應(yīng)實際的模塊名,那么可以使用入口文件自動綁定模塊的功能,只需要在應(yīng)用配置文件中添加:
// 開啟入口文件自動綁定模塊
'auto_bind_module' => true,
當(dāng)我們重新添加一個 public/demo.php
入口文件,內(nèi)容和public/index.php
一樣:
// 定義應(yīng)用目錄
define('APP_PATH', __DIR__ . '/../application/');
// 加載框架引導(dǎo)文件
require __DIR__ . '/../thinkphp/start.php';
但其實訪問 demo.php
的時候,其實已經(jīng)自動綁定到了demo
模塊。
文檔最后更新時間:2018-04-25 19:35:10
未解決你的問題?請到「問答社區(qū)」反饋你遇到的問題