欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

thinkphp框架實(shí)現(xiàn)路由重定義簡化url訪問地址的方法分析

 更新時(shí)間:2020年04月04日 10:40:30   作者:未聞花名_zh  
這篇文章主要介紹了thinkphp框架實(shí)現(xiàn)路由重定義簡化url訪問地址的方法,結(jié)合實(shí)例形式分析了thinkphp路由重定義及url地址訪問相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了thinkphp框架實(shí)現(xiàn)路由重定義簡化url訪問地址的方法。分享給大家供大家參考,具體如下:

如果按照正常訪問的話,則需要輸入一長串的url地址,這樣會(huì)顯得十分冗長,我可以可以通過對(duì)路由規(guī)則的重新定義簡化url訪問地址。

<?php
namespace app\index\controller;
class Index{
   public function index(){
     return '我是index';
   }
   public function hello($name='World'){
     return  'Hello'.$name.'!';
   }
}
?>

本來的訪問路徑應(yīng)該是:

localhost/tp/index.php/index/index/hello

我們在路由定義文件(application/route.php)里面添加一些路由規(guī)則,如下:

return [
  // 添加路由規(guī)則 路由到 index控制器的hello操作方法' hello/:name' => 'index/index/hello',
];

這是以hello開頭的并且?guī)?shù)的訪問都會(huì)路由到index控制器的hello操作方法。

此時(shí)路徑可以寫為:

localhost/tp/hello/Thinkphp

此時(shí)輸出結(jié)果為:

HelloThinkphp!

改變路由規(guī)則后若使用原來的路徑訪問方法后,則會(huì)出現(xiàn)錯(cuò)誤。

但此時(shí)有一個(gè)問題是,如果訪問地址為:

localhost/tp/hello

話,會(huì)拋出 模板不存在的錯(cuò)誤,因?yàn)樵谠L問時(shí),沒有傳參,而在定義路由規(guī)則時(shí),則帶有參數(shù)。

解決辦法是在修改路由規(guī)則為:

return [
  // 添加路由規(guī)則 路由到 index控制器的hello操作方法' hello/[:name'] => 'index/index/hello',
];

使用[]把路由規(guī)則中的變量包起來,就表示該變量為可選,接下來就可以正常訪問了。

當(dāng)name參數(shù)沒有傳入值的時(shí)候,hello方法的name參數(shù)有默認(rèn)值World,所以輸出的內(nèi)容為

Hello,World!

除了路由配置文件中定義之外,還可以采用動(dòng)態(tài)定義路由規(guī)則的方式定義,例如在路由配置文件(application/route.php)的開頭直接添加下面的方法:

use think\Route;
 
Route::rule('hello/:name', 'index/hello');

完成的效果和使用配置方式定義是一樣的。

無論是配置方式還是通過Route類的方法定義路由,都統(tǒng)一放到路由配置文件application/route.php文件中

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論