を返して:
class MyController extends Controller
{
private $service;
public function __construct() {
$this->service = $this->container->get("service");
}
}
が、コンテナはnullで、例外がスローされます:
私はそれを行うことができますどのようにError: Call to a member function get() on null
作品ですか? ps:コントローラをサービスにしたいとは思わない。方法setContainer
がまだ呼び出されていないので、あなたは、コンストラクタからサービスコンテナにアクセスすることはできません
この回答は間違っています。 エラーメッセージはnullでget()を呼び出し、コードは$ this-> container-> get()です。したがって、$ this-> containerプロパティはnullです。これは$ thisの関数呼び出しではありません。以下の答えは正しいです。コンテナは後でセッタ注入によって設定されるため、コンストリクタではコンテナプロパティはnullで、まだ設定されていません。 – Andras
回答が更新されました。 – chalasr