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

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

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

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

903閲覧

laravelでコントローラーがないとでる& バージョン確認してもなぜかコントローラーがないというエラーになる

higa2090

総合スコア3

Laravel

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2022/12/09 08:14

編集2022/12/09 08:51

前提

phpのLaravelでGoogleChat通知処理を作っています。
コマンドスクリプトでGoogleChat通知処理を動かそうと思っていてそのように作成しています。

laravelで以前使っていたコントローラーがないと表示されてしまいます。全く使っておらず、
Routeもコマンドのほうにルーティングしているのでコントローラーに行くはずがないのですが。。。

ちなみに、Laravelのバージョンを確認しようとしても同じことになります。

普通にLaravelのバージョンを確認しようとしてるだけなのに、なぜ違う現象になるのかわからず
困惑しています。下記はLaravelをインストールしているフォルダに移動して行っています。

エラー文(コマンドスクリプト)

php artisan laravel -V Illuminate\Contracts\Container\BindingResolutionException Target class [BbsEntryController] does not exist.

【コントローラー】※ただし使ってません。以下は念のためです。

<?php // Googleアラート通知 namespace App\Http\Controllers; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Routing\Controller as BaseController; use NotificationChannels\GoogleChat\GoogleChatMessage; use App\Notifications\toGoogleChat; class GoogleChatCntroller { public $message; /** * GoogleChatへの送信 * * @param $notifiable * @param \App\Notifications\Reserved $notification * @return void */ //テストでアラート作成 public function keepMesseage() { //変数にメッセージを入れる $message = "Hello,Webhook!"; } public function send() { $notification = new toGoogleChat($this->message); $result = $notification->SendSimple($this->message); dump($result); } }

【ルート】

<?php namespace App; use Illuminate\Support\Facades\Route; use App\Console\Commands\MakeCommandSendGoogleChat; use App\Http\Controllers\NoticeGoogleChatController; /* |-------------------------------------------------------------------------- | 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('/mail', 'MailController@send'); Route::get('/sendtoGoogleCommand',[MakeCommandSendGoogleChat::class, 'handle']);

【コマンド】

<?php namespace App\Console\Commands; use Illuminate\Console\Command; use App\Models\User; use App\Notifications; use NotificationChannels\GoogleChat\GoogleChatMessage; class MakeCommandSendGoogleChat extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'command:toGoogleChat'; /** * The console command description. * * @var string */ protected $description = 'グーグルチャット通知てすと'; /** * Execute the console command. * * @return int */ public function handle() { dump('グーグルチャット通知コマンド実行'); return GoogleChatMessage::create('Hello world!'); } }

試したこと

Illuminate\Contracts\Container\BindingResolutionExceptionで検索して

https://teratail.com/questions/292482
や、
https://prograshi.com/framework/laravel/target-class-not-exist/
は試しましたが
同じでした。

ルーティングが古いわけなので、キャッシュかな?と思って
php artisan route:clear.
でやってみても、なぜかphp artisan laravel -Vで調べた結果と同じエラーが出ます。。。
ここ2日間試してずっとここで詰まっております。。。

エラーを見る限りルーティングが間違っているのはわかりますが、
ここからどうやって直せばいいのかがわからないので、どなたかご教授お願いします。。。

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

Laravelのバージョンを調べられずですが、入れたのは10月あたりなので最新版のはずです。
php 8.1.10

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

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

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

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

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

guest

回答1

0

ベストアンサー

  1. ルートのキャッシュは/bootstrap/cache/routes-v7.phpなので手動で削除してみる。
  2. それでも直らなければプロジェクトを作り直して最初からやり直す。

書いてるコードが何もかも全部間違いなので質問に書いてない部分で余計なことをしている。最初からやり直さないと無理。

投稿2022/12/09 10:06

kawax

総合スコア10377

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

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

higa2090

2022/12/12 23:51

とりあえず、最初からやり直したところ、エラーが出なくなりました。 ありがとうございます。 しかし、GoogleChat通知ができてないので、また別の問いを立てます。。。orz ひとまず、こちらの問題は解決したので、今回答いただいたこちらをBAとさせていただきます。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問