日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php重定义地址栏url,thinkphp框架实现路由重定义简化url访问地址的方法分析

發布時間:2024/8/23 php 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php重定义地址栏url,thinkphp框架实现路由重定义简化url访问地址的方法分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

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

namespace app\index\controller;

class Index{

public function index(){

return '我是index';

}

public function hello($name='World'){

return 'Hello'.$name.'!';

}

}

?>

本來的訪問路徑應該是:

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

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

return [

// 添加路由規則 路由到 index控制器的hello操作方法' hello/:name' => 'index/index/hello',

];

這是以hello開頭的并且帶參數的訪問都會路由到index控制器的hello操作方法。

此時路徑可以寫為:

localhost/tp/hello/Thinkphp

此時輸出結果為:

HelloThinkphp!

改變路由規則后若使用原來的路徑訪問方法后,則會出現錯誤。

但此時有一個問題是,如果訪問地址為:

localhost/tp/hello

話,會拋出 模板不存在的錯誤,因為在訪問時,沒有傳參,而在定義路由規則時,則帶有參數。

解決辦法是在修改路由規則為:

return [

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

];

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

當name參數沒有傳入值的時候,hello方法的name參數有默認值World,所以輸出的內容為

Hello,World!

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

use think\Route;

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

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

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

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

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

總結

以上是生活随笔為你收集整理的php重定义地址栏url,thinkphp框架实现路由重定义简化url访问地址的方法分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。