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

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

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

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

解決済

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

prodaigo
prodaigo

総合スコア31

Laravel

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

2回答

0評価

0クリップ

168閲覧

投稿2022/05/05 09:38

前提

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

実現したいこと

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

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

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

該当のソースコード

BlogController.php

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class BlogController extends Controller { /** * ブログ一覧を表示する * * @return view */ public function showList() { return view('blog.list'); } }

web.php

<?php use Illuminate\Support\Facades\Route; /* |-------------------------------------------------------------------------- | 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('/', 'app\Http\Controllers\BlogController@showList')->name('blogs');

list.blade.php

<!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="UTF-8"> <title>ブログ</title> <link rel="stylesheet" href="/css/app.css"> <script src="/js/app.js" defer></script> </head> <body> <header> <nav class="navbar navbar-expand-lg navbar-dark bg-dark"> <a class="navbar-brand" href="#">ブログ</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNavAltMarkup"> <div class="navbar-nav"> <a class="nav-item nav-link active" href="#">ブログ一覧 <span class="sr-only"></span></a> <a class="nav-item nav-link" href="#">ブログ投稿</a> </div> </div> </nav> </header> <br> <div class="container"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <h2>ブログ記事一覧</h2> <table class="table table-striped"> <tr> <th>記事番号</th> <th>日付</th> <th>タイトル</th> <th></th> </tr> <tr> <td>1</td> <td>2020/06/30</td> <td>テスト</td> <td></td> </tr> </table> </div> </div> </div> <footer class="footer bg-dark fixed-bottom"> <div class="container text-center"> <span class="text-light">©︎福のプログラミング講座</span> </div> </footer> </body> </html>

index.php

<?php use Illuminate\Contracts\Http\Kernel; use Illuminate\Http\Request; define('LARAVEL_START', microtime(true)); /* |-------------------------------------------------------------------------- | Check If The Application Is Under Maintenance |-------------------------------------------------------------------------- | | If the application is in maintenance / demo mode via the "down" command | we will load this file so that any pre-rendered content can be shown | instead of starting the framework, which could cause an exception. | */ if (file_exists($maintenance = __DIR__.'/../storage/framework/maintenance.php')) { require $maintenance; } /* |-------------------------------------------------------------------------- | Register The Auto Loader |-------------------------------------------------------------------------- | | Composer provides a convenient, automatically generated class loader for | this application. We just need to utilize it! We'll simply require it | into the script here so we don't need to manually load our classes. | */ require __DIR__.'/../vendor/autoload.php'; /* |-------------------------------------------------------------------------- | Run The Application |-------------------------------------------------------------------------- | | Once we have the application, we can handle the incoming request using | the application's HTTP kernel. Then, we will send the response back | to this client's browser, allowing them to enjoy our application. | */ $app = require_once __DIR__.'/../bootstrap/app.php'; $kernel = $app->make(Kernel::class); $response = $kernel->handle( $request = Request::capture() )->send(); $kernel->terminate($request, $response);

試したこと

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

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

Laravel:9.10.1
PHP:8.0.8

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Laravel

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