【问题标题】:Laravel correct way to name and define routes?Laravel 正确命名和定义路线的方法?
【发布时间】:2019-12-31 14:31:26
【问题描述】:

示例 1:

Route::get('/', 'API\PostController@index')->name(‘post.index’);

示例 2:

Route::get('/', [PostController::class, 'index'])->name(‘post.index’);

在本例中,我们需要在路由文件的顶部使用以下 use 语句:

use App\Http\Controllers\API\PostController;

第二个示例可以很容易地通过 cmd + 单击从路由文件中导航控制器,但与更好的性能相比,哪个是最好的?

仅将 laravel 用作 API 时是否必须定义命名路由,是否会增加整体性能的开销?

【问题讨论】:

    标签: php laravel laravel-5 routes


    【解决方案1】:

    选择哪一个来定义路由并不重要,但建议在生产环境中使用route caching

    如果您的应用程序专门使用基于控制器的路由,您 应该利用 Laravel 的路由缓存。使用路由缓存 将大大减少注册所有人所需的时间 您的应用程序的路线。在某些情况下,您的路线注册 甚至可能快 100 倍。要生成路由缓存,只需执行 route:cacheArtisan 命令:

    php artisan route:cache
    

    【讨论】:

      【解决方案2】:

      实际上并没有性能差异,因为您在生产环境中使用以下命令缓存路由:php artisan optimizephp artisan route:cache

      选择你最喜欢的。

      https://laravel.com/docs/6.x/controllers#route-caching

      【讨论】:

        【解决方案3】:

        Route::get('/', 'API\PostController@index')->name('post.index');

        试试这个希望它有所帮助。

        【讨论】:

          猜你喜欢
          • 2018-05-21
          • 1970-01-01
          • 2013-03-05
          • 2020-03-20
          • 1970-01-01
          • 2020-12-25
          • 1970-01-01
          • 1970-01-01
          • 2021-03-28
          相关资源
          最近更新 更多