作成日: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(〇〇〇);
});
});
▼コントローラ
上記同様