题目
ThinkPHP路由基础配置
信息
- 类型:问答
- 难度:⭐
考点
路由定义,控制器映射,GET请求处理
快速回答
在ThinkPHP中配置路由的基本步骤:
- 在
route/app.php文件中定义路由规则 - 使用
Route::get()方法注册GET路由 - 指定控制器和方法:
'路由路径' => '控制器/方法' - 创建对应的控制器和方法处理请求
原理说明
ThinkPHP的路由功能将URL请求映射到指定的控制器方法。通过路由配置可以实现:
- URL美化(隐藏index.php)
- 请求方法过滤(GET/POST等)
- 参数绑定
代码示例
1. 定义路由(route/app.php)
use think\facade\Route;
// 将 /hello 映射到Index控制器的hello方法
Route::get('hello', 'Index/hello');2. 创建控制器(app/controller/Index.php)
<?php
namespace app\controller;
class Index
{
public function hello()
{
return 'Hello ThinkPHP!';
}
}最佳实践
- 路由文件选择:简单路由建议放在
route/app.php,复杂路由可分组管理 - 命名规范:控制器采用大驼峰命名(如
UserProfile) - 安全建议:严格限制路由方法,避免用
any()接收敏感操作
常见错误
- 404错误:控制器文件未创建或命名空间错误
- 方法不存在:控制器方法未定义为
public或方法名拼写错误 - 路由冲突:相同路径注册了多个路由规则
- 缓存问题:修改路由后未清除运行时缓存(
rm -rf runtime/*)
扩展知识
- 路由参数:可通过
Route::get('blog/:id', 'Blog/read')获取参数 - 路由分组:使用
Route::group()管理统一前缀的路由 - 快捷路由:
Route::resource('blog', 'Blog')自动生成RESTful路由 - 调试工具:使用
php think route:list命令查看所有路由