什麼是 RESTful
全稱 Representational State Transfer 是一種軟體架構風格、設計風格,而不是標準,只是提供了一組設計原則和約束條件。它主要用於客戶端和伺服器互動類的軟體。基於這個風格設計的軟體可以更簡潔,更有層次,更易於實現快取等機制。
Laravel 資源路由
以 photo 為例下面就是 Laravel 中資源路由的規則與命名
動作 | URI | 行為 | 路由名稱 |
---|---|---|---|
GET | /photos |
index | photos.index |
GET | /photos/create |
create | photos.create |
POST | /photos |
store | photos.store |
GET | /photos/{photo} |
show | photos.show |
GET | /photos/{photo}/edit |
edit | photos.edit |
PUT/PATCH | /photos/{photo} |
update | photos.update |
DELETE | /photos/{photo} |
destroy | photos.destroy |
相關參考 Laravel 文件 控制器 - 資源路由
這些工作只需要使用Route::resource()
就可以自動生成,還可以自動生成資源控制器,節省很多時間
下面就寫下需要的路由
檔案 routes\web.php
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
use Illuminate\Support\Facades\Route;
// 首頁
Route::get('/', function () {
return view('hw1');
})->name('index');
// 作業一
Route::get('/hw1', function () {
return view('hw1');
})->name('hw1');
// 作業二
Route::get('/hw2', 'HomeWorkController@hw2')->name('hw2');
Route::group(['prefix' => 'hw2'], function () {
Route::resource('employee','EmployeeController',['except' => 'show']);
Route::resource('supplier','SupplierController',['except' => 'show']);
Route::resource('product','ProductController',['except' => 'show']);
Route::resource('customer','CustomerController',['except' => 'show']);
Route::resource('purchase','PurchaseController',['except' => 'show']);
});
這裡個過程中只顯示了作業二的完成過程,路由第一個引數是資源名稱,第二個引數是對應的資源控制器,第三個引數使用
except
來排除不用的路由,這樣使用如下命令檢視生成的路由
php artisan route:list
可以看到這樣就建好了我們需要的全部路由,下面我們完成控制器
本作品採用《CC 協議》,轉載必須註明作者和本文連結