php - 使用 PhpStorm 自动完成在 Laravel 中管理 400 多个路由

标签 php laravel routes phpstorm

<分区>

我想知道如何处理 400 多条路线。

我们目前根据它们所属的 Controller 命名空间将所有路由分成多个文件。

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 中的路由的文件夹时,这不能正常工作。

最佳答案

在 PhpStorm 的 Laravel 插件(版本 0.11)的变更日志中指出,添加了对 Laravel 5.3 路由结构的支持。

我建议你把routes目录移动到项目的根目录下。就像 Laravel 5.3 一样。 例如:app/Http/Routes/ 变为 routes/

当使用 0.11 版本的插件并且你有 5.3 文件夹结构时,我认为没有理由自动建议路由名称不起作用。

希望这对您有所帮助!

关于php - 使用 PhpStorm 自动完成在 Laravel 中管理 400 多个路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41363851/

相关文章:

php - 邮件功能在本地主机服务器中不起作用

php - 在不同的列中显示帖子

PHP : Must login twice until session variables are set

php - 在php中将单个数组转换为多维数组

php - Laravel 包读取包配置文件和未发布的配置文件

php - Laravel 5 覆盖异常处理程序

java - Camel单元测试命中自定义组件

php - Laravel 自定义分页 View 不起作用

ruby-on-rails - 用户无法使用 Devise 登录时的重定向问题

routes - 无线路由和mac层引用