https://qiita.com/Alesion30/items/95222f62904ef46f6f45をチャレンジしています(メモ帳を作る)。http://localhost/memoApp/public/home とhttp://localhost/memoApp/public/submit にアクセスできません。
エラーメッセージ
Illuminate\Contracts\Container\BindingResolutionException Target class [app\Http\Controllers\MemoController] does not exist. http://localhost/memoApp/public/home
Illuminate\Contracts\Container\BindingResolutionException Target class [app\Http\Controllers\MemoController] does not exist. http://localhost/memoApp/public/submit
↑homeとsubmit
見つからないらしいMemoController↓(初心者故コードを書く場所が自信ないので念のため、C:\xampp\htdocs\memoApp\app\Http\Controllers)
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class MemoController extends Controller { // home.blade.phpを表示 public function showHome() { return view('home'); } // submit.blade.phpを表示 public function showSubmit() { return view('submit'); } }
コントローラーに指示する役割らしいのでweb.phpも↓C:xampp\htdocs\memoApp\routes
<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\MemoController; /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ Route::get('/', function () { return view('welcome'); }); // 第一引数に相対パス、第二引数に関数を指定する Route::get('/home', [app\Http\Controllers\MemoController::class,'showHome']); Route::get('/submit', [app\Http\Controllers\MemoController::class,'showSubmit']);
試したこと
・web.phpにこのバージョンのLaraveだとuse~が無いらしいのでuseの2行を付け加えた
・元々のソースはこれだったが上記のように書き方がバージョンによって変わったらしいので試してみた
Route::get('/home', [app\Http\Controllers\MemoController::class,'showHome']); Route::get('/submit', [app\Http\Controllers\MemoController::class,'showSubmit']);
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/22 15:29
2021/01/22 15:42 編集
2021/01/22 16:08
2021/01/22 16:16
2021/01/23 05:45