エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【Laravel】遅延プロバイダのキャッシュ対策【467日目】

遅延プロバイダの開発してました

サービスプロバイダを新しく定義する開発をしていました。

そのサービスプロバイダは、インターフェースと実装をbind結合させるだけの簡単なものだったのですが・・・

レビューしたら、動かない。コード書いた人はテストして正しく動いたっていう。なぜだ。

・・・キャッシュだ。

遅延プロバイダのキャッシュ

Laravelで遅延プロバイダするときには、providesに対象となるクラスを書くのですが、それは実はキャッシュされてたりします。

なので、遅延プロバイダ書いてるときにうっかりそのままだと正しく動かない可能性が。

なので、テストするときにはキャッシュを消しましょう

キャッシュを消すコマンド

```php artisan clear-compiled```

これで今回問題となるキャッシュは消せます。

問題となったキャッシュ

`bootstrap/cache/services.php`を消したら正しく動きました。

リリース時、テスト時はキャッシュ消し忘れてないかちゃんと確認しましょうね・・・!