Memo

メモ > 技術 > フレームワーク: Laravel > ルーティング

ルーティング
■ルーティングの設定と確認 ルーティング 5.4 Laravel https://readouble.com/laravel/5.4/ja/routing.html コントローラ 5.4 Laravel https://readouble.com/laravel/5.4/ja/controllers.html Laravel 5.4から可能になった新しいRouteの書き方 | cupOF Interests http://co.bsnws.net/article/194
// 通常のルーティング Route::get('/hello', function () { return 'Hello World'; }); // パラメータを取得 Route::get('/user/{id?}', function ($id = null) { return 'User ' . $id; }); // ルートプレフィックス Route::prefix('/admin')->group(function () { Route::get('/user/{id?}', function ($id = null) { return 'Admin User ' . $id; }); });
以下のコマンドでルーティングを確認できる
php artisan route:list
■Resourcefulにルーティング Laravelのルーティング書き方まとめ - Qiita http://qiita.com/michiomochi@github/items/de19c560bc1dc19d698c Route::resource() で典型的なCRUDルートを設定できる
Route::resource('photos', 'PhotoController');
only で特定のメソッドのみ有効にできる
Route::resource('photos', 'PhotoController', ['only' => ['store']]);
以下、CRUDの具体例 \test\routes\web.php
// Resourcefulルーティング Route::resource('/restful', 'RestfulController');
\test\app\Http\Controllers\RestfulController.php
<?php namespace App\Http\Controllers; class RestfulController extends Controller { // getでrestful/にアクセスされた場合 public function index() { return 'RestfulController@index()'; } // getでrestful/createにアクセスされた場合 public function create() { return 'RestfulController@create()'; } // postでrestful/にアクセスされた場合 public function store() { return 'RestfulController@store()'; } // getでrestful/messageにアクセスされた場合 public function show($message) { return 'RestfulController@show()'; } // getでrestful/message/editにアクセスされた場合 public function edit($message) { return 'RestfulController@edit()'; } // putまたはpatchでrestful/messageにアクセスされた場合 public function update($message) { return 'RestfulController@update()'; } // deleteでrestful/messageにアクセスされた場合 public function destroy($message) { return 'RestfulController@destroy()'; } }
■外部から直接POSTする 普通にPOSTでリクエストすると、VerifyCsrfTokenによってアクセスが拒否される VerifyCsrfToken の $except に対象URLを記載することにより、VerifyCsrfTokenの対象から除外できる 以下は「/enter」を除外する例 /app/Http/Middleware/VerifyCsrfToken.php
<?php namespace App\Http\Middleware; use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware; class VerifyCsrfToken extends Middleware { /** * CSRFの確認を除外するURI * * @var array */ protected $except = [ // '/enter', ]; }

Advertisement