Laravel Url 生成的使用規範

心智極客發表於2020-02-07

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 協議》,轉載必須註明作者和本文連結

相關文章