thinkphp最簡單路由

thinkphp最簡單路由

1、總結

一、路由應用場景(前臺要,後臺不要):前臺全部人均可以看,因此前臺的話設置路由,後臺的話並非全部人都進去,因此不須要設置路由 php

二、模塊分離來實現路由場景應用:先後臺模塊分離以後,就能夠分別設置是否須要使用路由thinkphp

三、模塊綁定來實現模塊分離:例如前臺模塊綁定爲index.php,後臺模塊綁定爲admin.phpapache

四、隱藏入口文件:前臺隱藏入口文件能夠簡化path_info(url路徑長度),很是有必要數組

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

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

 

注意點:iview

一、路由的另外做用():有利於搜索引擎優化ide

二、隱藏入口文件操做:隱藏入口文件是須要修改apach的配置的學習

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

四、路由範圍:路由只針對應用不針對模塊,所以路由的設置也是針對應用下面的全部模塊。

五、路由和path_info:要注意好像設置路由以後,就不能使用pathinfo訪問了

 

延伸:

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

 

2、php動態路由註冊

一、路由做用:

         一、簡化URL地址,方便你們記憶

 

         二、有利於搜索引擎優化

 

二、入口文件:

        

         一、先後臺分離

 

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

 

                   b、打開admin.php

                            <?php

                            // 定義應用目錄

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

                            // 加載框架引導文件

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

 

         二、綁定模塊

                   一、實現功能

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

                            admin.php 這個入口文件 只能去後臺模塊 #建議後臺的入口文件稍微複雜一些

 

                   二、如何實現

                            在入口文件中

 

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

                            define("BIND_MODULE",'admin'); # 綁定後臺模塊

 

                   三、URL地址發生改變

                            一、入口綁定以前

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

                            二、入口綁定以後

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

 

         三、隱藏入口文件

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

                            # 把註釋開啓

                            LoadModule rewrite_module modules/mod_rewrite.so

 

                   二、設置訪問權限 (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>

 

                   三、入口文件,在網站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>

 

                   四、重啓服務

 

                   五、url地址變化

                            一、隱藏以前

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

                            二、隱藏以後

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

 

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

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

         二、路由只針對應用不針對模塊,所以路由的設置也是針對應用下面的全部模塊。

         三、關閉後臺模塊,在後臺入口文件(C:\AppServ\www\tp5\public)

 

                   // 定義應用目錄

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

                   // 綁定後臺

                   define('BIND_MODULE','admin');

                   // 加載框架引導文件

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

                   // 關閉admin模塊的路由

                   // 必須寫到 加載框架引導文件 以後不然報錯

                   \think\App::route(false);

 

四、路由模式

 

         一、普通模式

                   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,

 

         二、混合模式

                   a、定義:

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

 

                   b、如何設置

                            // 是否開啓路由

                            'url_route_on'           => true,

                            // 是否強制使用路由

                            'url_route_must'         => false,

        

         三、強制模式

                   一、定義:

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

 

                   二、如何設置

                            // 是否開啓路由

                            'url_route_on'           => true,

                            // 是否強制使用路由

                            'url_route_must'         => true,

 

 

五、設置路由-動態單個註冊

         0、設置路由格式

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

         一、設置路由文件

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

 

         二、如何設置

 

                   // 引入系統類

                   use think\Route;

                   // 定義路由規則

                   // 設置路由以後,就不能使用pathinfo訪問了

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

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

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

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

 

         三、路由的形式

                   一、靜態地址路由

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

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

 

一、路由做用:

         一、簡化URL地址,方便你們記憶

 

         二、有利於搜索引擎優化

 

二、入口文件:

        

         一、先後臺分離

 

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

 

                   b、打開admin.php

                            <?php

                            // 定義應用目錄

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

                            // 加載框架引導文件

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

 

         二、綁定模塊

                   一、實現功能

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

                            admin.php 這個入口文件 只能去後臺模塊 #建議後臺的入口文件稍微複雜一些

 

                   二、如何實現

                            在入口文件中

 

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

                            define("BIND_MODULE",'admin'); # 綁定後臺模塊

 

                   三、URL地址發生改變

                            一、入口綁定以前

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

                            二、入口綁定以後

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

 

         三、隱藏入口文件

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

                            # 把註釋開啓

                            LoadModule rewrite_module modules/mod_rewrite.so

 

                   二、設置訪問權限 (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>

 

                   三、入口文件,在網站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>

 

                   四、重啓服務

 

                   五、url地址變化

                            一、隱藏以前

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

                            二、隱藏以後

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

 

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

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

         二、路由只針對應用不針對模塊,所以路由的設置也是針對應用下面的全部模塊。

         三、關閉後臺模塊,在後臺入口文件(C:\AppServ\www\tp5\public)

 

                   // 定義應用目錄

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

                   // 綁定後臺

                   define('BIND_MODULE','admin');

                   // 加載框架引導文件

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

                   // 關閉admin模塊的路由

                   // 必須寫到 加載框架引導文件 以後不然報錯

                   \think\App::route(false);

 

四、路由模式

 

         一、普通模式

                   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,

 

         二、混合模式

                   a、定義:

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

 

                   b、如何設置

                            // 是否開啓路由

                            'url_route_on'           => true,

                            // 是否強制使用路由

                            'url_route_must'         => false,

        

         三、強制模式

                   一、定義:

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

 

                   二、如何設置

                            // 是否開啓路由

                            'url_route_on'           => true,

                            // 是否強制使用路由

                            'url_route_must'         => true,

 

 

五、設置路由-動態單個註冊

         0、設置路由格式

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

         一、設置路由文件

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

 

         二、如何設置

 

                   // 引入系統類

                   use think\Route;

                   // 定義路由規則

                   // 設置路由以後,就不能使用pathinfo訪問了

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

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

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

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

 

         三、路由的形式

                   一、靜態地址路由

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

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

相關文章
相關標籤/搜索