今天早些時候,我對一篇關於 Laravel Folio 的帖子做出了回應,這讓我開始思考在 Laravel 中設置路線的所有方法。這就是結果。
新增路由的現成方法是使用路由目錄中的檔案。
所有 http 動詞都有一個等效的 Route 類別。對於多個動詞,有路線和任何方法。
對於上述所有方法,在大多數情況下,路由與控制器方法耦合。 Route 類別有一個特殊的方法,即 view,以防路由不需要邏輯。
如果是靜態頁面,我認為最好的方法是在 public 目錄中使用 .html 檔案。
而不是將路由加入 web.php 檔案。可以建立一個執行相同操作的 ServiceProvider。
namespace App\Providers; use Illuminate\Support\ServiceProvider; class WebRouteServiceProvider extends ServiceProvider { /** * Define the routes for the application. * * @return void */ public function boot() { parent::boot(); Route::middleware('web')->group(function() { // routes }); } }
我建議您使用此功能時,在 web.php 檔案中添加註釋。未來你和其他開發者都會感謝你。
Folio 可以被視為 Route::view 但從視圖的側面來看。當你在resources/views/pages目錄下建立模板時,模板的名稱將變成一個url。
Folio 和 Route::view 都可以導致在模板中加入控制器邏輯甚至路由邏輯。對我來說,這是一種代碼味道。只有顯示邏輯應該位於模板中。
如果你對 Symfony 預設設定路由的方式感到羨慕,你可以安裝 Spatie Laravel 路由屬性套件。
主要好處是路由設定在與產生輸出的程式碼相同的檔案中。
與預設方式相比,這種方式的缺點是,對於路由切換,需要更改兩個檔案而不是一個。
是否堅持預設的設定路線方式或使用其中一種替代方法取決於您。請小心選擇視圖。
這是一個優秀框架的特性。如果您不喜歡預設體驗,只需進行一些細微的更改即可使其更有用。
以上是Laravel 路線替代方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!