サービスコンテナでbind
$this->app->bind( 'App\Services\XxxServiceInterface', 'App\Services\XxxService' );
public function __construct(XxxServiceInterface $xxx) { $this->xxx = $xxx; }
これでbindしておいたのに、XxxServiceInterfaceがインスタンス化出来ないとエラーが出た。
XxxServiceが呼び出されるはずが、bind出来てない?
キャッシュが問題かも
bindをした設定が、反映されてない。
もしかすると、設定がキャッシュされていて、設定が追加されてないからかも。
bind用のファイルに記述を追加したとかだと起こる。
bootstrap/cache/services.php
を確認してみて、内容追加されてなければそうかも
キャッシュを消すコマンド
php artisan clear-compiled
これで、生成済みのファイルを削除してくれるので、再度サイトにアクセスすると動くかも。
リリース時のCIとかにも混ぜておくと良き。