新闻中心
Lar*el如何定义路由和控制器?(基础代码示例)
Lar*el 路由在 routes/web.php 中定义,支持闭包、控制器方法绑定及资源路由;控制器用 php artisan make:controller 创建,配合命名路由和中间件实现高效开发。

在 Lar*el 中,路由负责接收请求并分发给控制器处理,控制器则封装具体的业务逻辑。定义路由和控制器是构建 Web 应用的第一步,下面用最常用、最清晰的方式说明。
定义基础路由(web.php)
Lar*el 的前端路由默认写在 routes/web.php 文件中,所有带 Session、CSRF 保护的页面请求都走这里。
- GET 请求:访问首页显示欢迎页
Route::get('/', function () {
return view('welcome');
});
- 带参数的 GET 路由:如 /user/123
Route::get('/user/{id}', function ($id) {
return '用户ID是:' . $id;
});
- 绑定到控制器方法(推荐方式)
Route::get('/posts', [PostController::class, 'index']);
生成控制器并编写方法
用 Artisan 命令快速创建控制器:
php artisan make:controller PostController
生成的控制器位于 app/Http/Controllers/PostController.php,默认包含空的 index() 方法。补充如下:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class PostController extends Controller
{
public function index()
{
return view('posts.index', ['posts' => []]);
}
public function show($id)
{
return "查看文章 ID:{$id}";
}
}
然后在路由中注册对应方法:
Route::get('/posts', [PostController::class, 'index']);
Route::get('/post/{id}', [PostController::class, 'show']);
使用资源路由(批量定义 CRUD)
对标准增删改查场景,Lar*el 提供 resource() 方法一键注册 7 个 RESTful 路由:
Route::resource('photos', PhotoController::class);
它会自动映射:
微软爱写作
微软出品的免费英文写作/辅助/批改/评分工具
130
查看详情
- GET /photos → index
- GET /photos/create → create
- POST /photos → store
- GET /photos/{photo} → show
- GET /photos/{photo}/edit → edit
- PUT/PATCH /photos/{photo} → update
- DELETE /photos/{photo} → destroy
运行 php artisan route:list 可查看所有已注册路由。
命名路由与中间件(实用增强)
给路由起名字,方便在模板或重定向中引用:
Route::get('/dashboard', [AdminController::class, 'index'])
->name('admin.dashboard');
在 Blade 模板中可这样跳转:
<a href="{{ route('admin.dashboard') }}">后台首页</a>
添加中间件控制访问权限(比如只允许登录用户):
Route::get('/profile', [ProfileController::class, 'edit'])
->middleware('auth')
->name('profile.edit');
基本上就这些。路由定义简洁明确,控制器职责单一,配合 Artisan 命令,搭建页面逻辑非常高效。
以上就是Lar*el如何定义路由和控制器?(基础代码示例)的详细内容,更多请关注php中文网其它相关文章!
# 中文网
# 河南网络营销推广团队
# 岳阳网站建设投标书
# 韶关seo推广
# 瑶海全域营销推广获客
# 状元府营销推广方案
# 推广营销策略和思路
# 榆阳区营销网站建设招标
# 软文媒体网站推广
# 电商网站建设seo优化
# 沧州品牌网站建设行业
# 它会
# 跳转
# 解决问题
# php
# 相关文章
# 尼克
# 首页
# 报错
# 绑定
# 微软
# 高效开发
# 路由
# session
# app
# 前端
# laravel
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
Python多版本共存与虚拟环境管理深度指南
jQuery Mask 插件中实现电话号码固定前导零的教程
AO3访问入口汇总 AO3网页版同人作品一键直达
win11 Snap Layouts怎么用 Win11窗口布局与分屏多任务高效指南【必学】
韩小圈电脑版在线入口_网页版免费登录地址
必由学在线入口 必由学网页版快速登录入口
poki网页游戏推荐_poki免费游戏平台入口
快手极速版在线观看 官方网页版登录地址
创客贴用户入口官网登录 创客贴网页版电脑版系统
Golang如何实现容器化日志收集与分析_Golang容器日志收集分析方法
composer 和 npm/yarn 在管理依赖方面有什么核心思想差异?
J*aScript动态修改指定div内所有a标签样式指南
《铁拳8》黑皮辣妹新实机:元气满满的18岁少女!
如何有效阻止外部脚本意外修改内联样式的高度属性
在J*a中如何开发简易博客标签推荐系统_博客标签推荐项目实战解析
Win10磁盘清理工具在哪 Win10打开并使用磁盘清理【教程】
Excel中VLOOKUP的第四个参数是干什么用的_Excel VLOOKUP第四参数作用解析
神经网络二分类模型训练异常:高损失与完美验证准确率的排查与修正
lar*el怎么安全地存储和获取配置文件中的敏感信息_lar*el敏感信息安全存储方法
Python Socket多播通信中指定源IP地址的实践指南
Centos/Linux 系统下安装 composer 的完整步骤
J*aScript实现单选按钮与关联输入框的联动禁用教程
C++如何解决segmentation fault_C++段错误调试与原因分析
Win10系统服务哪些可以禁用 Win10安全优化服务列表【干货】
J*aScript异步迭代器_j*ascript异步遍历
c++如何使用Catch2编写单元测试_c++简洁易用的BDD风格测试框架
一加Ace 6T支持全新明眸护眼:通过了最严苛的护眼小金标认证
Node.js CSV 数据处理:基于字段值条件过滤整条记录的策略
C++如何生成随机数_C++ random库使用方法与范围设置
必由学官方平台入口 必由学在线课堂登录地址
谷歌浏览器一键优化方案_谷歌浏览器直达主页极速不卡版
Composer的 "licenses" 命令如何帮助你遵守开源协议_检查项目依赖的许可证合规性
动漫岛观看全网网 动漫岛在线正版动漫入口
php源码怎么在电脑上测试_电脑测试php源码方法步骤【教程】
谷歌浏览器最新官方入口链接 谷歌浏览器网页版官网导航
电脑安装程序提示“错误1722”怎么办_Windows Installer服务问题解决【教程】
海棠电脑版入口_通过电脑访问海棠官网阅读
QQ邮箱在线使用入口 QQ邮箱个人账号网页版登录
为什么我的微信朋友圈看不到别人的更新_微信朋友圈更新显示异常解决方法
MongoDB Aggregation:在嵌套对象数组中精确匹配ObjectId
在哪找SublimeJ远程工具_SFTP插件配置教程
C++的std::forward_list怎么用_C++ STL中单向链表容器的特点与应用
在J*a项目里如何构建对象之间的契约_接口约束的实际落地
没有大陆身份证/银行卡如何实名微信? 亲测有效的几种方法分享
Gmail邮箱申请注册直达_Gmail邮箱免费注册PC版官网入口2025
魅族17怎样用浏览器译外语网页_iPhone魅族17浏览器译外语网页【即时翻译】
Win10如何清理注册表垃圾 Win10手动清理无效注册表【技巧】
谷歌浏览器如何快速清除某个网站的数据_Chrome网站缓存清理方法
J*aScript中向JSON对象添加新属性的正确姿势
c++如何实现一个简单的软件渲染器_c++从零开始的3D图形学


2025-12-12
浏览次数:次
返回列表