実現したいこと
Laravelで独自のclassを用いてview composerを利用する。
前提
『PHPフレーミワーク Laravel 入門』という技術書でLaravelを勉強しています。
"HelloController.php"というclassを定義し、view composerを実装しようとしたら、以下のエラー分が発生しました。
発生している問題・エラーメッセージ
エラーメッセージ Target class [App\Http\Composers\HelloComposer] does not exist. ### 該当のソースコード "HelloServiceProvider.php" <?php namespace App\Providers; use Illuminate\Support\Facades\View; use Illuminate\Support\ServiceProvider; class HelloServiceProvider extends ServiceProvider { /** * Register services. */ public function register() { // } /** * Bootstrap services. */ public function boot() { View::composer( 'hello.index', 'App\Http\Composers\HelloComposer' ); } } "HelloComposer.php" <?php namespace App\Http\Composers; use Illuminate\View\View; class HelloComposer { public function compose(View $view) { $view->with('view_message', 'this view is "' . $view->getName() . '"!!'); } } バージョン PHP8.2.0 Laravel10.10.1
試したこと
・スペルミスがないか確認しました。
・無名クラスでview composerの処理を組み込んでみたら、想定通り実装できました。
・Httpの中にApp\Http\View\composersで同様のファイルを作成してみましたが、同様のエラーが発生しました。
・usedでcomposerをインポートしましたが、同様のエラーが発生しました。
上記の方法以外にどのような方法を試みれば良いのかわからなかったため、質問させていただきました。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/05/28 00:48