2012-04-19 10 views
0

すべて私のPHPはObject Orintedで、すべての依存関係(つまり、他のクラスが動作する必要のあるクラス)に対して依存関係注入を使いたいと思います。これでいい?すべての依存関係にDependency Injectionを使用できますか?

これは過剰に複雑な問題をしない場合、私はすべての依存関係のためのファクトリパターンを使用することができ、私は私が読めるように多くの情報を掲載だと思う...しかし、あなたは具体的にしたい場合はhere.

もあります注入? - 詳細は上のリンクにあります。

+0

ZF2やSymfony2などの最新のPHPフレームワーク、またはPimpleやCraftyのようなDIライブラリのDIコンテナを見てきましたか? –

答えて

2

まあ、はい。

依存性注入の全ポイントは抽象化であり、必要なものを関数/メソッド/オブジェクト/クラスに与え、内部でそれを動作させます。 DIのために渡すオブジェクトと変数を生成するファクトリは問題ありません。例えば

:ここ

public function pdo_select(PDO $pdo_connection, $table, $where_condition) 

は、我々は必要なすべてを渡し、接続オブジェクト、テーブル名とWHERE MySQLの句。私たちは行って、この機能をさらに抽象化することができます、私たちは、クエリのすべてのソートを行うことができ、ちょうど選択するために私達の機能を

public function pdo_query(PDO $pdo_connection, $query) 

を制限されていません。

しかし、あなたは間違いなく、別の機能にオブジェクトを渡すことができます参照してください。

オブジェクトを渡すと、タイプのヒントが表示され、異なる種類のパラメータを入力するとエラーが発生し、デバッグに役立ちます。

+0

@TheAllFooオブジェクトは変数として関数とメソッドに渡されますが、どこで止まっていますか? –

関連する問題