新闻中心

Lar*el如何定义路由和控制器?(基础代码示例)

2025-12-12
浏览次数:
返回列表
Lar*el 路由在 routes/web.php 中定义,支持闭包、控制器方法绑定及资源路由;控制器用 php artisan make:controller 创建,配合命名路由和中间件实现高效开发。

laravel如何定义路由和控制器?(基础代码示例)

在 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图形学 

搜索