作成日:2019-06-06, 更新日:2019-06-06
経緯
・表示するページは一緒だけどURLによって一部だけ内容を変更したい
基本
▼ルーティング
Route::prefix('XXX')->namespace('XXX')->group(function(){ // URLが「〇〇〇/hoge」「〇〇〇/foo」など Route::get('〇〇〇/{code}', 'FooController@testAction'); // URLが「〇〇〇/hoge_hoge」「〇〇〇/hoge_foo」など //Route::get('〇〇〇/hoge_{code}', 'FooController@testAction'); // post、getできたとき //Route::match(['post', 'get'], '〇〇〇/{code}', 'FooController@testAction'); });
▼コントローラ
<?php namespace App\Http\Controllers\Auth; use Illuminate\Http\Request; class FooController extends \App\Http\Controllers\Controller { public function testAction($code='') { 処理 }
コントローラーを呼び出して引数をセットして呼び出す
▼ルーティング
Route::prefix('XXX')->namespace('XXX')->group(function(){ Route::match(['post','get'], 'hoge', function(){ // コントローラーのインスタンス化(?)してからメソッドを呼び出す $called = app()->make('\App\Http\Controllers\FooController'); return $called->testAction(〇〇〇); }); });
▼コントローラ
上記同様