前提・実現したいこと
初質問になります。Laravelについての質問です。
Laravelについては触れたばかりです。
ビューコンポーザを使ってコントローラとのビジネスロジックの分離を試していました。
無名クラスでビューコンポーザの処理を組み込むといったやり方では成功しました。
しかし、ビューコンポーザをクラス定義しbootで設定するといったやり方ですと、クラスが見つからないといったエラーが出てしまいます。
手順としては、ビューコンポーザクラスを事前に作成したサービスプロバイダに組み込んだといったところです。
ちなみに関係ないかもしれませんが環境は、
OS:Windows7
サーバ環境:Xampp
ComposerにてLaravelをインストール
laravelバージョン:5.6.24
xampp\htdocs\laravelapp としてアプリケーションを作成
発生している問題・エラーメッセージ
"Class App\Http\Composers does not exist"
コンポーザクラス
app/Http/Composers/HelloComposer.php
<?php namespace App\Htpp\Composers; use Illuminate\View\View; class HelloComposer { public function compose(View $View) { $view->with("view_message","this view is".$view->getName()."!!"); } }
サービスプロパイダ
app/Providers/HelloServiceProvider.php
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; class HelloServiceProvider extends ServiceProvider { public function boot() { \View::composer( "hello.index","App\Http\Composers\HelloComposer" ); } }
試したこと
ルート指定のappのaが小文字だったので、もしかしてと大文字のAppに変えてみましたが、関係ないみたいでエラーが出ました。