Laravel Url 生成的使用规范

Laravel 生成 Url 主要有三种方式

<?php

url('posts/show/1');
route('posts.show', 1);
action('PostController@show', 1);

在项目开发中,应当如何使用这三个方法呢?

尽量使用 route 方法

应当尽量使用 route 方法,主要有两个原因:

  1. route 方法,即命名路由,可读性更高;
  2. route 方法一般不需要改动,而 url 或者 action 方法都会随着 url 或者控制器的变更而变更。

尽量传入 Model 实例作为参数

方法一:传入参数

route('posts.show', ['post' => 1]);
route('posts.show', 1);
route('posts.show', $post->id);

方法二:传入实例

route('posts.show', ['post' => $post]);
route('posts.show', $post);

传入实例时候,route 函数将 自动提取模型的主键 ,比如我们使用 slug 作为文章的主键时,方法一需要对应的调整参数,而方法二则会自动获取对应的路由主键,不需要做任何修改。

// 方法 1
route('posts.show', $post->slug);
// 方法 2
route('posts.show', $post);

因此,尽量使用 Model 实例作为路由参数,可避免因主键修改而发生的代码改动。

更多关于 Laravel Url 的使用教程

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!