thinkphp5.0学习(四):入口文件、路由模式、路由设置和url生成

本文详细介绍了ThinkPHP5.0的路由功能,包括路由的作用、入口文件配置、路由模式(普通、混合、强制)、路由设置方法(动态单个注册、动态批量注册、配置文件批量注册)、变量规则、路由参数、资源路由的声明和自动注册规则,以及快捷路由的声明和控制器使用。此外,还讲解了如何生成URL以及隐藏入口文件的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、路由的作用

  • 简化URL地址,方便记忆
  • 有利于搜索引擎的优化

二、入口文件

前后台分离

  • 在网站public目录下(项目\public)新建admin.php
  • 打开admin.php

    <?php
    // +----------------------------------------------------------------------
    // | ThinkPHP [ WE CAN DO IT JUST THINK ]
    // +----------------------------------------------------------------------
    // | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
    // +----------------------------------------------------------------------
    // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
    // +----------------------------------------------------------------------
    // | Author: liu21st <liu21st@gmail.com>
    // +----------------------------------------------------------------------
    
    // [ 应用入口文件 ]
    
    // 定义应用目录
    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重写(D:\wamp64\bin\apache\apache2.4.23\conf\httpd.conf)
    把注释开启 LoadModule rewrite_module modules/mod_rewrite.so

  • 设置访问权限(D:\wamp64\bin\apache\apache2.4.23\conf\extra\httpd-vhosts.conf)

    <VirtualHost *:80>
        ServerName www.tp.com
        DocumentRoot D:/wamp64/www/study/thinkphpstudy/public
        <Directory  "D:/wamp64/www/study/thinkphpstudy/public">
            Options +Indexes +Includes +FollowSymLinks +MultiViews
            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/控制器/方法
    隐藏之后http://www.tp.com/控制器/方法

三、tp5.0路由学习注意

  • 支持三种方式的url解析规则
  • 路由只针对应用,不针对模块,因此路由的设置也是针对应用下的所有模块。
  • 关闭后台模块,在后台入口文件中(admin.php),写在加载框架引导文件之后,否则报错。

    <?php
    // +----------------------------------------------------------------------
    // | ThinkPHP [ WE CAN DO IT JUST THINK ]
    // +----------------------------------------------------
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值