Laravel Url 生成的使用规范
Laravel 生成 Url 主要有三种方式
<?php
url('posts/show/1');
route('posts.show', 1);
action('PostController@show', 1);
在项目开发中,应当如何使用这三个方法呢?
尽量使用 route 方法
应当尽量使用 route
方法,主要有两个原因:
route
方法,即命名路由,可读性更高;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 的使用教程
- Laravel Url 使用指南 4-1 基础篇 | Laravel China 社区
- Laravel Url 使用指南 4-2 使用 Trait 复用 URL 函数 | Laravel China 社区
- Laravel Url 使用指南 4-3 使用 Presenter 管理 url | Laravel China 社区
- Laravel Url 使用指南 4-4 签名 Url 的使用及原理 | Laravel China 社区
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: