[英]Managing 400+ routes in Laravel with PhpStorm autocompletion
我想知道如何處理400多條路線。
我們目前根據它們所屬的控制器命名空間將所有路由分成多個文件。
App/Http/Routes
的結構如下所示:
- Auth.php
- Marketing.php
- Orders.php
我們所有的路線都被命名。 但是這里出現了我們遇到的實際問題。
我們的路由使用填充了定義路徑名稱的常量的類來命名。
namespace App\Http\Controllers\Marketing;
class RouteConstants
{
/**
* MarketingController
*/
const INDEX = 'marketing.index';
const DISABLED = 'marketing.disabled';
這些常量類位於Controller名稱空間中。 然后在Marketing.php
路由文件中使用它們,如下所示:
/**
* Marketing Routes
*/
Route::group(['namespace' => 'App\Http\Controllers\Marketing'], function() {
/**
* MarketingController Routes
*/
Route::get('marketing/overview', [
'uses' => 'MarketingController@index',
'as' => MarketingRoutes::INDEX
]);
Route::get('marketing/disabled', [
'uses' => 'MarketingController@showDisabled',
'as' => MarketingRoutes::DISABLED
]);```
這樣做是因為它允許我們使用PhpStorm自動完成功能,並查看每個路由的使用位置。
但問題是我們同時使用兩個系統。 Laravel的內部路由命名系統,同時我們使用自己的系統將名稱定義為常量。
必須有一種更好的方法來管理這些路徑,並有辦法檢查項目文件中的用法。
目前我們的觀點也非常混亂:
<a href="{{ route(App\Http\Controllers\Marketing\RouteConstants::INDEX) }}">Marketing</a>
我已經嘗試過用於PhpStorm的Laravel插件,但是如果文件夾中包含自動加載到RouteServiceProvider
路徑,則無法正常工作。
我想如果你在控制器中走到const那么文本將更短,只需使用普通名稱。 然后你的觀點會更好。
您可以在另一側查看Route :: resource中的文檔,其中您的路徑文件將變得更小,因為它自動設置所有crud路由然后將責任傳遞給控制器
在Laravel Plugin for PhpStorm(版本0.11)的更改日志中注明,為Laravel 5.3的路由結構添加了支持。
我建議你將routes目錄移動到項目的根目錄。 就像Laravel 5.3一樣。 例如: app/Http/Routes/
成為routes/
。
當使用插件的0.11版本並且你有5.3文件夾結構時,我認為沒有理由自動建議路由名稱不起作用。
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.