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 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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