現在、データベースのデータを処理して戻すAPIを構築しています。php:データベースインスタンス/接続を1つだけ使用する方法
私のデータベースクラスがここで見つけることができます:http://pastebin.com/PdDUeS3x
今私が読み取ってデータベースからデータを書き込みUserクラスを持っています。
現在、私はすべての機能に次のように使用します。私は私のユーザークラスにこれらdoSomething()
の機能の多くを持っているので
public function doSomething() {
$DB = Database:i();
// Do something with $DB
}
は私が$DB = Database:i()
を使用頻繁に使用します。
たとえば、このコードを実行すると、データベースに対して3つの接続を作成しますか?
$User = new User();
$User->doSomething();
$User->doSomething();
$User->doSomething();
もしそうなら、私の代わりにこの変数にアクセス私のユーザークラス$_DB = Database:i()
に、私の関数でクラス変数を追加する必要がありますか?
を使用するように接続します。実際に一度だけ、それをインスタンス化し、コンストラクタの引数としてすべてのクラス/オブジェクトに渡します。 →**依存性注入を参照してください。** – deceze
[Staticsを使用してテスト容易性を破壊しない方法](http://kunststube.net/static/) – deceze
これは私にとってあまり優雅ではないようです。そして、もっと大きなPHPプロジェクトをチェックしたところ、私は誰もそのように扱うことができなかった。しかし、私は彼らがそれをどうやって行うのか理解できませんでした。 – Panni