質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Q&A

解決済

2回答

1131閲覧

Target class [app\Http\Controllers\BlogController] does not exist.を解消したい

prodaigo

総合スコア38

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

0グッド

0クリップ

投稿2022/05/05 09:38

前提

Laravel初心者です。
現在YouTubeを見ながら、簡単なブログを作成しています。
作業を進める途中で、タイトルのエラーが発生しました。
動画とのバージョンが違うため起きたエラーと考え、ルーティングの記述を変更しましたが、エラーは解消できませんでした。
全く手が出ない状況になっているので、ご回答いただけると幸いです。

実現したいこと

  • エラーを解消し、一覧画面が表示されるようにする

発生している問題・エラーメッセージ

Target class [app\Http\Controllers\BlogController] does not exist.

該当のソースコード

BlogController.php

1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6 7class BlogController extends Controller 8{ 9 /** 10 * ブログ一覧を表示する 11 * 12 * @return view 13 */ 14 public function showList() 15 { 16 return view('blog.list'); 17 } 18} 19

web.php

1<?php 2 3use Illuminate\Support\Facades\Route; 4 5/* 6|-------------------------------------------------------------------------- 7| Web Routes 8|-------------------------------------------------------------------------- 9| 10| Here is where you can register web routes for your application. These 11| routes are loaded by the RouteServiceProvider within a group which 12| contains the "web" middleware group. Now create something great! 13| 14*/ 15 16// ブログ一覧画面を表示 17Route::get('/', 'app\Http\Controllers\BlogController@showList')->name('blogs');

list.blade.php

1<!DOCTYPE HTML> 2<html lang="ja"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>ブログ</title> 6 <link rel="stylesheet" href="/css/app.css"> 7 <script src="/js/app.js" defer></script> 8 </head> 9 <body> 10 <header> 11 <nav class="navbar navbar-expand-lg navbar-dark bg-dark"> 12 <a class="navbar-brand" href="#">ブログ</a> 13 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation"> 14 <span class="navbar-toggler-icon"></span> 15 </button> 16 <div class="collapse navbar-collapse" id="navbarNavAltMarkup"> 17 <div class="navbar-nav"> 18 <a class="nav-item nav-link active" href="#">ブログ一覧 <span class="sr-only"></span></a> 19 <a class="nav-item nav-link" href="#">ブログ投稿</a> 20 </div> 21 </div> 22 </nav> 23 </header> 24 <br> 25 <div class="container"> 26 <div class="row"> 27 <div class="col-md-8 col-md-offset-2"> 28 <h2>ブログ記事一覧</h2> 29 <table class="table table-striped"> 30 <tr> 31 <th>記事番号</th> 32 <th>日付</th> 33 <th>タイトル</th> 34 <th></th> 35 </tr> 36 <tr> 37 <td>1</td> 38 <td>2020/06/30</td> 39 <td>テスト</td> 40 <td></td> 41 </tr> 42 </table> 43 </div> 44 </div> 45 </div> 46 <footer class="footer bg-dark fixed-bottom"> 47 <div class="container text-center"> 48 <span class="text-light">©︎福のプログラミング講座</span> 49 </div> 50 </footer> 51 </body> 52</html>

index.php

1<?php 2 3use Illuminate\Contracts\Http\Kernel; 4use Illuminate\Http\Request; 5 6define('LARAVEL_START', microtime(true)); 7 8/* 9|-------------------------------------------------------------------------- 10| Check If The Application Is Under Maintenance 11|-------------------------------------------------------------------------- 12| 13| If the application is in maintenance / demo mode via the "down" command 14| we will load this file so that any pre-rendered content can be shown 15| instead of starting the framework, which could cause an exception. 16| 17*/ 18 19if (file_exists($maintenance = __DIR__.'/../storage/framework/maintenance.php')) { 20 require $maintenance; 21} 22 23/* 24|-------------------------------------------------------------------------- 25| Register The Auto Loader 26|-------------------------------------------------------------------------- 27| 28| Composer provides a convenient, automatically generated class loader for 29| this application. We just need to utilize it! We'll simply require it 30| into the script here so we don't need to manually load our classes. 31| 32*/ 33 34require __DIR__.'/../vendor/autoload.php'; 35 36/* 37|-------------------------------------------------------------------------- 38| Run The Application 39|-------------------------------------------------------------------------- 40| 41| Once we have the application, we can handle the incoming request using 42| the application's HTTP kernel. Then, we will send the response back 43| to this client's browser, allowing them to enjoy our application. 44| 45*/ 46 47$app = require_once __DIR__.'/../bootstrap/app.php'; 48 49$kernel = $app->make(Kernel::class); 50 51$response = $kernel->handle( 52 $request = Request::capture() 53)->send(); 54 55$kernel->terminate($request, $response);

試したこと

ルーティングの記述変更。

補足情報(FW/ツールのバージョンなど)

Laravel:9.10.1
PHP:8.0.8

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

diff

1- Route::get('/', 'app\Http\Controllers\BlogController@showList')->name('blogs'); 2+ Route::get('/', '\App\Http\Controllers\BlogController@showList')->name('blogs');

投稿2022/05/05 14:27

phper.k

総合スコア3923

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

prodaigo

2022/05/06 08:06

ご回答ありがとうございます。 無事に解決できました。
guest

0

LaravelでComposerでクラスが見つからないと言えばまず最初に試すべき下記ですが、試されましたか?
https://zenn.dev/snail_tanishi/articles/17005daed25bfe3fa7df

投稿2022/05/05 10:48

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

prodaigo

2022/05/05 12:57

ご回答ありがとうございます。 上記の件ですが、試してみましたがエラーは解消できませんでした。
m.ts10806

2022/05/05 18:59

ではphper.kさんのとおりですね。 大文字小文字は大別されます
prodaigo

2022/05/06 08:06

何度もありがとうございます。 phper.kさんの方法で解決できました。 m.ts10806の回答も大変勉強になりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問