1

別のクラスにロードする必要があるという考えがあります。1回(database.php)を含むindex.phpがあるとしましょう。クラスで、クラスによって拡張されない新しいオブジェクトを作成することは許容されますか?言い換えれば、代わりにグローバルにコンテンツをブライニングしますか?これが私が意味することです...

index.php:
----------------------
include_once ('./core/dataAccess.php');

....

class home {
    private function getUsers() {
        $dataAccess = new DataAccess();
    }
}    
4

1 に答える 1

2

これは受け入れられ、広く使用されている方法ですが、ほとんどの場合、最善の解決策ではありません。高度な方法は、依存性注入を使用することです。これは、クラスに必要な他のオブジェクトが外部から「注入」され、互換性があることを意味します。これは、コンストラクター、セッターメソッド、または必要に応じてパラメーターとして直接発生する可能性があります。

キーワードを使用する唯一のメソッドは、newオブジェクトの作成以外の何もしないファクトリメソッドです。

于 2013-02-15T17:05:39.417 に答える