:::

7-1 還沒有控制器的路由寫法

  1. 假設有個資料表叫做products,那麼,路由可以這樣設定,左邊是路由,右邊是動作,底下的動作內容都是直接呼叫對應視圖(暫時不要跟著做,因為我們會直接用控制器來做更好):
    Route::get('/product', function () {
        return view('index');
    })->name('product.index');
    
    Route::get('/product/create', function () {
        return view('create');
    })->name('product.create');
    
    Route::post('/product', function () {
        return view('store');
    })->name('product.store');
    
    Route::get('/product/{id}', function () {
        return view('show');
    })->name('product.show');
    
    Route::get('/product/{id}/edit', function () {
        return view('edit');
    })->name('product.edit');
    
    Route::patch('/product/{id}', function () {
        return view('update');
    })->name('product.update');
    
    Route::delete('/product/{id}', function () {
        return view('destroy');
    })->name('product.destroy');

、相關說明:

  1. 動作一般就是一個closesure(閉包或匿名函數,亦即沒有命名的函數),如:
    function () {
      return view('視圖名稱');
    }
    
  2. 可以用name('路由名稱')加上命名,例如:
    Route::get('/product', function () {
        return view('index');
    })->name('product.index');
  3. 為什麼要命名?因為以後可以讓樣板呼叫用(換網址、換路徑都不用再修改程式碼),利用名稱來找到 route,如:
    <a href="{{ route('product.index') }}">商品一覽</a>
  4. 查詢有多少 Route 可用

    php artisan route:list

:::

書籍目錄

展開 | 闔起

快速登入


http%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbdsn%3D1411%26tbsn%3D43

計數器

今天: 787787787
昨天: 8625862586258625
總計: 8031394803139480313948031394803139480313948031394