zoukankan      html  css  js  c++  java
  • 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:AppServwww p5public) 新建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:AppServApache24confhttpd.conf)

                                # 把注释开启

                                LoadModule rewrite_module modules/mod_rewrite.so

                       2、设置访问权限 (C:AppServApache24confextrahttpd-vhosts.conf)

                                <VirtualHost *:80>

                                    DocumentRoot "C:AppServwww p5public"

                                    ServerName www.tp5.com

                                         <Directory "C:AppServwww p5public">

                                           

                                             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:AppServwww p5public)

                       // 定义应用目录

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

                       // 绑定后台

                       define('BIND_MODULE','admin');

                       // 加载框架引导文件

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

                       // 关闭admin模块的路由

                       // 必须写到 加载框架引导文件 之后否则报错

                        hinkApp::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:AppServwww p5applicationroute.php

             2、如何设置

                       // 引入系统类

                       use thinkRoute;

                       // 定义路由规则

                       // 设置路由之后,就不能使用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:AppServwww p5public) 新建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:AppServApache24confhttpd.conf)

                                # 把注释开启

                                LoadModule rewrite_module modules/mod_rewrite.so

     

                       2、设置访问权限 (C:AppServApache24confextrahttpd-vhosts.conf)

     

                                <VirtualHost *:80>

                                    DocumentRoot "C:AppServwww p5public"

                                    ServerName www.tp5.com

                                         <Directory "C:AppServwww p5public">

                                           

                                             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:AppServwww p5public)

     

                       // 定义应用目录

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

                       // 绑定后台

                       define('BIND_MODULE','admin');

                       // 加载框架引导文件

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

                       // 关闭admin模块的路由

                       // 必须写到 加载框架引导文件 之后否则报错

                        hinkApp::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:AppServwww p5applicationroute.php

     

             2、如何设置

     

                       // 引入系统类

                       use thinkRoute;

                       // 定义路由规则

                       // 设置路由之后,就不能使用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');

     

  • 相关阅读:
    读取XML字符串到临时表
    Golang学习笔记
    Golang环境配置Centos
    IntelliJ Idea 常用快捷键列表
    Elasticsearch的Groovy Script自定义评分检索
    MSSQL读取xml字符串到临时表
    通过反射给对象属性动态赋值总结(含可空属性)
    。。。。。
    指定位置输出函数
    DBhelper
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/8994304.html
Copyright © 2011-2022 走看看