1
私はルートをコントローラとそれぞれのメソッドにルーティングするためにフレームワークを使用していますが、コンストラクタ内でクラスを初期化する方法はわかりません。同じクラスの静的メンバーを介してこれにアクセスします。PHP - クラスのコンストラクタ内でのオブジェクトのインスタンスの初期化、静的メンバー内でのアクセス
class Controller {
static private $test = null;
private function __construct(){
#$this->test = new Test();
self::$test = new Test();
}
public static function Index(){
// rather than this
#$test = new Test();
#echo $test->greet();
// something like this
#echo self::$test->greet();
}
}
に
Test
のインスタンスを置くそれはこのためnew Controller();
を呼び出すことができます。 App :: route( '/'、array( '\ Prj \ Controller'、 'Index'));静的メソッド内でクラス自体を呼び出すことによってコンストラクタのプロパティにアクセスする唯一のメソッドはありますか? – mhvvzmak1もし私が正しいのであれば、あなたはルートの中でコントローラから 'Index'メソッドを呼び出していますか?そうすればうまくいくはずです。 – Daan
はい、申し訳ありませんが、私のコメント – mhvvzmak1