現在、私たちはlaravelに基づいたプロジェクトを持っています。私たちのロジックはすべてxxxというlaravelの別のフォルダにあり、名前空間Aを使用します。次のように働きます。PHPネームスペースプロジェクトでオーバーライドコンセプトを実装する方法
xxxと同じレベルに別のフォルダyyyがあります。これはxxxと全く同じファイル構造になっています。
yayに同じファイルを作成すると、xxxにいくつかのクラスが実装されているファイルaaa.phpがある場合、そこでクラスをオーバーライドしたり、そこにメソッドを追加またはオーバーライドすることができます。同じクラス名を使用するには、例えばB
のように名前空間を使用する必要があります。したがって、名前空間Aまたは名前空間Bを使用するかどうかを指定する必要があります。ない。
PHPクラスを継承するときに、名前空間Bを強制することはできませんし、このための非継承された機能は、まだ名前空間A.当社のニーズに対応することができますオーバーライド何コンセプト
を使うのか?
これはまさにlaravelの 'IoC'サービスコンテナが構築されたものです。 IoCにバインドされたアプリケーションのインスタンスを簡単に追加して、それを上書きすることができます。見てください[https://laravel.com/docs/5.2/providers](https://laravel.com/docs/5.2/providers)。 – Ohgodwhy
情報提供いただきありがとうございます。サービスプロバイダーが私たちのケースでどのように役立つかを簡単な例でご紹介できますか? – ArmeniaH