2017-09-04 9 views
0

私は最初から小さなアプリケーションを書いています。私はpackagistからいくつかのパッケージを使いたいと思っていました。 DIのために私はAurynを選んだ。Aurynを「正しい」方法でDIに使用するには?

私がAurynについて最初に学んだことの1つは、Dependency Containerであることを避けようとしていることと、文書で明示的にAurynのインスタンスをコンテナとして使用すべきではないと書いていることですあなたのアプリのさまざまなクラスを通して。

私はそれでいいですが、私はアプリのバックボーンのすべてのラッパーとして "main"クラスを持っているので、私はこのメインクラスのコンストラクタに、 Injectorオブジェクト(それはAuryinの主なオブジェクトです)、クラスのコンストラクタでDIとリフレクションの準備が整うようにすべてを配線する必要があります。

もう1つの方法は、メインクラスを使用せずに、インデックスファイルでクリーンな手続き型コードを使用し、すべてのtogheterをAurynと同じ方法で配線することです。

進歩のためのアドバイスは何ですか?

答えて

1

依存性注入のアイデアは、あなたのコード全体に拡散して複製するのではなく、さまざまなクラスがどのように1つの場所(DIコンテナクラス/ DI設定ファイル)に「配線されている」情報を集めることです。あなたの "Main"クラスはIndex.phpに一度インスタンス化されているだけなので、AurynインスタンスをMainのコンストラクタに渡すか、Aurynを使用してMainのインスタンスを取得するかは、大きな違いはありません。

関連する問題