thinkphp最簡單路由


thinkphp最簡單路由

一、總結

1、路由應用場景(前台要,后台不要):前台所有人都可以看,所以前台的話設置路由,后台的話並不是所有人都進去,所以不需要設置路由 

2、模塊分離來實現路由場景應用:前后台模塊分離之后,就可以分別設置是否需要使用路由

3、模塊綁定來實現模塊分離:例如前台模塊綁定為index.php,后台模塊綁定為admin.php

4、隱藏入口文件:前台隱藏入口文件可以簡化path_info(url路徑長度),非常有必要

5、路由的設置配置規則、鍵值對):路由的設置只需要的路由的那個配置文件中加路由規則,很簡單,就是鍵值對的形式Route::rule('test','index/index/test');

6、路由的三種模式:路由的三種模式就是路由和path_info的三種混合方式

 

注意點:

1、路由的另外作用():有利於搜索引擎優化

2、隱藏入口文件操作:隱藏入口文件是需要修改apach的配置的

3、隱藏入口文件的原理:隱藏入口文件的原理是正則替換,也就是訪問沒有文件的時候加上入口文件RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

4、路由范圍:路由只針對應用不針對模塊,因此路由的設置也是針對應用下面的所有模塊。

5、路由和path_info:要注意好像設置路由之后,就不能使用pathinfo訪問了

 

延伸:

后面要基於我的項目寫一個 路由實例 的文章出來

 

二、php動態路由注冊

1、路由作用:

         1、簡化URL地址,方便大家記憶

 

         2、有利於搜索引擎優化

 

2、入口文件:

        

         1、前后台分離

 

                   a、在網站public目錄下(C:\AppServ\www\tp5\public) 新建admin.php

 

                   b、打開admin.php

                            <?php

                            // 定義應用目錄

                            define('APP_PATH', __DIR__ . '/../application/');

                            // 加載框架引導文件

                            require __DIR__ . '/../thinkphp/start.php';

 

         2、綁定模塊

                   1、實現功能

                            index.php 這個入口文件 只能去前台模塊

                            admin.php 這個入口文件 只能去后台模塊 #建議后台的入口文件稍微復雜一些

 

                   2、如何實現

                            在入口文件中

 

                            define("BIND_MODULE",'index'); # 綁定前台模塊

                            define("BIND_MODULE",'admin'); # 綁定后台模塊

 

                   3、URL地址發生改變

                            1、入口綁定之前

                                     http://www.tp.com/admin.php/模塊/控制器/方法

                            2、入口綁定之后

                                     http://www.tp.com/admin.php/控制器/方法

 

         3、隱藏入口文件

                   1、開啟apache的重寫(C:\AppServ\Apache24\conf\httpd.conf)

                            # 把注釋開啟

                            LoadModule rewrite_module modules/mod_rewrite.so

 

                   2、設置訪問權限 (C:\AppServ\Apache24\conf\extra\httpd-vhosts.conf)

 

                            <VirtualHost *:80>

                                DocumentRoot "C:\AppServ\www\tp5\public"

                                ServerName www.tp5.com

                                     <Directory "C:\AppServ\www\tp5\public">

                                       

                                         Options Indexes FollowSymLinks

                                        

                                         AllowOverride All

 

                                         Require all granted

                                     </Directory>

                            </VirtualHost>

 

                   3、入口文件,在網站public目錄下新建.htaccess 文件

         原理是正則

                            <IfModule mod_rewrite.c>

                              Options +FollowSymlinks -Multiviews

                              RewriteEngine On

 

                              RewriteCond %{REQUEST_FILENAME} !-d

                              RewriteCond %{REQUEST_FILENAME} !-f

                              RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

                            </IfModule>

 

                   4、重啟服務

 

                   5、url地址變化

                            1、隱藏之前

                                     http://www.tp.com/index.php/Index/test

                            2、隱藏之后

                                     http://www.tp.com/Index/test

 

3、Tp5.0路由學習注意:

         1、支持三種方式URL解析規則

         2、路由只針對應用不針對模塊,因此路由的設置也是針對應用下面的所有模塊。

         3、關閉后台模塊,在后台入口文件(C:\AppServ\www\tp5\public)

 

                   // 定義應用目錄

                   define('APP_PATH', __DIR__ . '/../application/');

                   // 綁定后台

                   define('BIND_MODULE','admin');

                   // 加載框架引導文件

                   require __DIR__ . '/../thinkphp/start.php';

                   // 關閉admin模塊的路由

                   // 必須寫到 加載框架引導文件 之后否則報錯

                   \think\App::route(false);

 

4、路由模式

 

         1、普通模式

                   a、定義

                            關閉路由,完全使用默認的 PATH_INFO 方式URL:

 

                   b、形式

                            http://www.tp.com/admin.php/index/index

 

                   c、如何設置

        在application下面的config.php的配置文件中

                            // 是否開啟路由

                            'url_route_on'           => false,

                            // 是否強制使用路由

                            'url_route_must'         => false,

 

         2、混合模式

                   a、定義:

                            開啟路由,並使用路由定義+默認 PATH_INFO 方式的混合

 

                   b、如何設置

                            // 是否開啟路由

                            'url_route_on'           => true,

                            // 是否強制使用路由

                            'url_route_must'         => false,

        

         3、強制模式

                   1、定義:

                            開啟路由,並設置必須定義路由才能訪問

 

                   2、如何設置

                            // 是否開啟路由

                            'url_route_on'           => true,

                            // 是否強制使用路由

                            'url_route_must'         => true,

 

 

5、設置路由-動態單個注冊

         0、設置路由格式

                   Route::rule('路由表達式','路由地址','請求類型','路由參數(數組)','變量規則(數組)')

         1、設置路由文件

                   C:\AppServ\www\tp5\application\route.php

 

         2、如何設置

 

                   // 引入系統類

                   use think\Route;

                   // 定義路由規則

                   // 設置路由之后,就不能使用pathinfo訪問了

                   // 注冊路由 訪問到Index模塊index控制器index方法

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

                   // 注冊路由test 訪問到Index模塊index控制器test方法

                   Route::rule('test','index/index/test');

 

         3、路由的形式

                   1、靜態地址路由

                            // 注冊路由test 訪問到Index模塊index控制器test方法

                            Route::rule('test','index/index/test');

 

1、路由作用:

         1、簡化URL地址,方便大家記憶

 

         2、有利於搜索引擎優化

 

2、入口文件:

        

         1、前后台分離

 

                   a、在網站public目錄下(C:\AppServ\www\tp5\public) 新建admin.php

 

                   b、打開admin.php

                            <?php

                            // 定義應用目錄

                            define('APP_PATH', __DIR__ . '/../application/');

                            // 加載框架引導文件

                            require __DIR__ . '/../thinkphp/start.php';

 

         2、綁定模塊

                   1、實現功能

                            index.php 這個入口文件 只能去前台模塊

                            admin.php 這個入口文件 只能去后台模塊 #建議后台的入口文件稍微復雜一些

 

                   2、如何實現

                            在入口文件中

 

                            define("BIND_MODULE",'index'); # 綁定前台模塊

                            define("BIND_MODULE",'admin'); # 綁定后台模塊

 

                   3、URL地址發生改變

                            1、入口綁定之前

                                     http://www.tp.com/admin.php/模塊/控制器/方法

                            2、入口綁定之后

                                     http://www.tp.com/admin.php/控制器/方法

 

         3、隱藏入口文件

                   1、開啟apache的重寫(C:\AppServ\Apache24\conf\httpd.conf)

                            # 把注釋開啟

                            LoadModule rewrite_module modules/mod_rewrite.so

 

                   2、設置訪問權限 (C:\AppServ\Apache24\conf\extra\httpd-vhosts.conf)

 

                            <VirtualHost *:80>

                                DocumentRoot "C:\AppServ\www\tp5\public"

                                ServerName www.tp5.com

                                     <Directory "C:\AppServ\www\tp5\public">

                                       

                                         Options Indexes FollowSymLinks

                                        

                                         AllowOverride All

 

                                         Require all granted

                                     </Directory>

                            </VirtualHost>

 

                   3、入口文件,在網站public目錄下新建.htaccess 文件

         原理是正則

                            <IfModule mod_rewrite.c>

                              Options +FollowSymlinks -Multiviews

                              RewriteEngine On

 

                              RewriteCond %{REQUEST_FILENAME} !-d

                              RewriteCond %{REQUEST_FILENAME} !-f

                              RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

                            </IfModule>

 

                   4、重啟服務

 

                   5、url地址變化

                            1、隱藏之前

                                     http://www.tp.com/index.php/Index/test

                            2、隱藏之后

                                     http://www.tp.com/Index/test

 

3、Tp5.0路由學習注意:

         1、支持三種方式URL解析規則

         2、路由只針對應用不針對模塊,因此路由的設置也是針對應用下面的所有模塊。

         3、關閉后台模塊,在后台入口文件(C:\AppServ\www\tp5\public)

 

                   // 定義應用目錄

                   define('APP_PATH', __DIR__ . '/../application/');

                   // 綁定后台

                   define('BIND_MODULE','admin');

                   // 加載框架引導文件

                   require __DIR__ . '/../thinkphp/start.php';

                   // 關閉admin模塊的路由

                   // 必須寫到 加載框架引導文件 之后否則報錯

                   \think\App::route(false);

 

4、路由模式

 

         1、普通模式

                   a、定義

                            關閉路由,完全使用默認的 PATH_INFO 方式URL:

 

                   b、形式

                            http://www.tp.com/admin.php/index/index

 

                   c、如何設置

        在application下面的config.php的配置文件中

                            // 是否開啟路由

                            'url_route_on'           => false,

                            // 是否強制使用路由

                            'url_route_must'         => false,

 

         2、混合模式

                   a、定義:

                            開啟路由,並使用路由定義+默認 PATH_INFO 方式的混合

 

                   b、如何設置

                            // 是否開啟路由

                            'url_route_on'           => true,

                            // 是否強制使用路由

                            'url_route_must'         => false,

        

         3、強制模式

                   1、定義:

                            開啟路由,並設置必須定義路由才能訪問

 

                   2、如何設置

                            // 是否開啟路由

                            'url_route_on'           => true,

                            // 是否強制使用路由

                            'url_route_must'         => true,

 

 

5、設置路由-動態單個注冊

         0、設置路由格式

                   Route::rule('路由表達式','路由地址','請求類型','路由參數(數組)','變量規則(數組)')

         1、設置路由文件

                   C:\AppServ\www\tp5\application\route.php

 

         2、如何設置

 

                   // 引入系統類

                   use think\Route;

                   // 定義路由規則

                   // 設置路由之后,就不能使用pathinfo訪問了

                   // 注冊路由 訪問到Index模塊index控制器index方法

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

                   // 注冊路由test 訪問到Index模塊index控制器test方法

                   Route::rule('test','index/index/test');

 

         3、路由的形式

                   1、靜態地址路由

                            // 注冊路由test 訪問到Index模塊index控制器test方法

                            Route::rule('test','index/index/test');

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM