3

DBとセッションを処理する非常に単純なシングルトンAuthクラスを開発していると想像してみてください(認証アダプターなどの他の分解は必要ありません)。

このシングルトンクラスからDIを利用できるようにするにはどうすればよいですか?もちろん、最良の方法はDIインスタンスをコンストラクターに渡すことですが、シングルトンからそれが必要な場合はどうなりますか?静的セッターメソッドを使用する必要Auth::setDi($di)がありますか、それともより良い方法が利用できますか?それとも、常にDIストレージがあるので、シングルトンを避ける必要がありますか?

私の英語は申し訳ありませんが、私の質問が明確であることを願っています。

4

1 に答える 1

10

静的にインスタンス化された最新のDIにアクセスできます。

<?php

$di = Phalcon\DI::getDefault();

http://docs.phalconphp.com/en/latest/reference/di.html#accessing-the-di-in-a-static-way

于 2013-03-18T00:01:26.990 に答える