iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 11
0
Software Development

30天快速上手Laravel系列 第 11

Day11-[Laravel 資料夾目錄與內容] Route (HTTP 路由) part 2

  • 分享至 

  • xImage
  •  

其他

版本比較

如果是在5.2以前的版本,前面有提到route的定義都會在同一隻檔案 app/Http/routes.php,因此當開發比較多api需要藉由group控管,範例就會像底下

Route::group(['prefix' => 'api'], function () {
    Route::get('users', function ()    {
        // 符合「/api/users」URL
    });
    Route::get('items', function ()    {
        // 符合「/api/items」URL
    });
});

基本上在5.3版拆出route資料夾以後,就可以依分類開成不同的檔案,例如可以拆成
route/comments.php, route/items.php

而其中可以在上面提到的 AppServiceProvider.php 做共同的管理,在裡面可以做namespace, middleware, 甚至是group的設定,能夠很輕鬆又很簡單的的把route做分類。

    protected function mapApiRoutes()
    {
        Route::prefix('api')
             ->middleware('api')
             ->namespace($this->namespace)
             ->group(base_path('routes/api.php'));

             //如果group底下還想增加其他api可以這樣寫
             /*
            ->group(function ($router) {
               require base_path('routes/api.php');
               require base_path('routes/items.php');
            });
    }

像上面group裡面的route都帶有api的prefix,實際戳的時候就會需要帶 {Host}/api/items/....


結論: laravel的route提供了很多彈性的方式去設定,要注意的是5.3 之前和之後對於route的寫法差異比較大,不過基本上要做的功能和分類是差不多的,而在5.3以後的分類因為拆開來,所以更易於維護。

參考連結:
laravel routing


上一篇
Day10-[Laravel 資料夾目錄與內容] Route (HTTP 路由) part 1
下一篇
Day12-[Laravel 資料夾目錄與內容] Entity(Model)
系列文
30天快速上手Laravel30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言