thinkphp5第37課:自定義路由

使用tp5如果採用默認的路由方式,你就會發現訪問XX模塊XX控制器XX方法的URL地址有多長,比如:

http://serverName/index.php/module/controller/action/param/value/...
 
這樣的模式稱爲:PATH_INFO 模式
 
開啓自定義路由,需要配置config.php
 
'url_route_on' => true
 
打開config.php文件,會發現自定義路由默認是開啓的。
 
 

 

自定義路由,最簡單的方法就是直接在route.php文件中直接註冊路由。route.php文件位於application目錄下,打開該文件:

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <[email protected]>
// +----------------------------------------------------------------------

return [
    '__pattern__' => [
        'name' => '\w+',
    ],
    '[hello]'     => [
        ':id'   => ['index/hello', ['method' => 'get'], ['id' => '\d+']],
        ':name' => ['index/hello', ['method' => 'post']],
    ],

];

我們可以以數組的方式直接定義路由規則,數組默認的路由規則可以刪除,編寫我們自己的路由規則

<?php
return [
    'admin$' => 'admin/index/index',
    'personinfo' => 'admin/resume/personinfo',
    'photo' => 'admin/resume/photo',
    'works' => 'admin/works/index',
    'skill' => 'admin/skill/index',
    'grzp' => 'admin/grzp/index'

];

元素的“鍵”表示路由規則,“值”就是真實的地址,也就是說:當訪問:http://域名/public/index.php/personinfo時,就是在訪問http://域名/public/index.php/admin/resume/personinfo

定義好路由後,原來的訪問地址也要改變:

<dl class="layui-nav-child">
    <dd><a href="{:url('/personinfo')}" target="frame">基本信息</a></dd>
    <dd><a href="{:url('/photo')}" target="frame">個人照片</a></dd>
    <dd><a href="{:url('/works')}" target="frame">工作經歷</a></dd>
    <dd><a href="{:url('/skill')}" target="frame">專業技能</a></dd>
    <dd><a href="{:url('/grzp')}" target="frame">個人作品</a></dd>
    <dd><a href="">自我評價</a></dd>
</dl>

 

發佈了161 篇原創文章 · 獲贊 47 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章