あくまで自分用のメモです。
xamppでのテスト環境時では起きず、herokuの本番環境にデプロイしたら発生したエラーについてメモ。
##1. ReflectionException Class App\Http\Controllers~~ does not exist
//修正前
//Route::post('test/add','vueController@post');
//修正後
Route::post('test/add','VueController@post');
//##VueControllerを呼び出したい##
####原因
web.phpからのコントローラー指定の際、コントローラー名の大文字と小文字を間違えるというあり得ないぐらい単純なミス。
xamppでのテスト環境上では小文字のままでも問題なく動いたため、無駄に悩んでしまった。
加えて'v'と'V'という紛らわしいミスで余計に見つからなかったのかもしれない。
別にautoloadがうまくいってないとかhttpsの強制とかsessionの不具合とかpost予約語説とかまttttttttったく関係なかった。
でもどの段階で大小区別が変わったのかはまだ不明。
##2. ページ遷移時に500エラー
laravel標準?のエラーページに飛ばされchromeのコンソールには何も表示されない状態
laravel debugerをheroku上で適用したらはっきりと原因が分かった
//修正前
public function index(){
return view('layouts.shop.index',compact('valueB'));
}
//修正後
public function index(){
return view('layouts.shop.index',compact('valueA','valueB'));
}
####原因
layouts/shop/index.blade.php上で使用しない変数(今回の場合valueA)をコントローラーから渡すと
compact(): Undefined variable: valueA
というエラーが出た。
今後またエラーが発生したら追記
どうしてもうまくいかない問題が発生したら時間を開けてから考え直すと結構解決する。
気持ちを変えたり初心に帰ってからコードを見ると1.みたいな初歩的なものは見つかりやすいかもしれない。
時間があればの話だけど...