意味はよくわかってないけれど、キャッシュを消そうと以下のコマンドを実行したところLogicExceptionがでた。
php artisan optimize
実行後、以下の文字が現れた。
Unable to prepare route [api/user] for serialization. Uses Closure.
気持ち悪いので、どうすればいいか調べた。
参考サイト:Error Unable to prepare route [api/user] for serialization. Uses Closure.
そもそもclosure.を使用している場合、ルートのキャッシュはクリアできないんだそう。(You can’t cache routes if you are using a closure.)
使っているrouteは以下コマンドで確認できる。
php artisan route:list
■ 結果
+——–+———-+———–+——+————————————————————+————–+
| Domain | Method | URI | Name | Action | Middleware |
+——–+———-+———–+——+————————————————————+————–+
| | GET|HEAD | / | | Closure | web |
| | GET|HEAD | api/user | | Closure | api,auth:api |
| | GET|HEAD | tabletest | | App\Http\Controllers\TabletestController@showTabletestPage | web |
| | POST | tabletest | | App\Http\Controllers\TabletestController@postTabletest | web |
+——–+—
試しに、Closureを使用している箇所をコメントアウトした。
routeフォルダにいるapi.phpの以下の文とweb.phpの以下の文をコメントアウト。
//api.php
Route::middleware(‘auth:api’)->get(‘/user’, function (Request $request) {
return $request->user();
});
//web.php
Route::get(‘/’, function () {
return view(‘welcome’);
});
再度問題のあったコマンドを実行。
php artisan optimize
以下のように表示されLogicExceptionの文字が消えました。
Configuration cache cleared!
Configuration cached successfully!
Route cache cleared!
Routes cached successfully!
Files cached successfully!
今のところ困ってないので、コメントアウトは戻そうと思います。
以上、備忘録でした。