(編集)[OK]を質問し、達成しようとしているものの例は混乱しています。 あなたの例では、別のクラスの中でクラスを定義しようとしているようです。
正しい名前はNESTED CLASSで、PHPでは使用できません。 あなたの例では、答えは "いいえ"です。とにかくPHPではそうではありません。他の言語では、「ネストされたクラス」が許可されます。 Javaがその例です。
は、例えば、これはこれで尋ねた質問は別のクラスにクラスのインスタンスを作成することです
class outer_class{
class inner_class{
...
}
...
}
PHP
では動作しません。
これは「はい」です。これは、「クラス」内の「オブジェクト」を組み込むことができます。私たちはいつもそれをやります。
class simple_class{
protected $instanceOfOtherClass;
public function instanciateObject_KeepingAReferenceToIt(){
// create an instance of OtherClass and associate it to $this->instanceOfOtherClass
$this->instanceOfOtherClass = new OtherClass();
}
public function instanciateObject_Without_KeepingAReferenceToIt(){
// create an instance of OtherClass and return it
return new OtherClass();
}
}
クラスはインスタンス化することもできます。それは有名なシングルトンがやっているものなのですが、他の多くはCreational patternsです。悲しいことに、一部の人々は、約dependency injectionについて知っていることは、決して再びメソッドでNEWを呼び出さないことを意味すると信じています。違う。
クラスとオブジェクトの違いを理解するのに役立ちます。 classは、オブジェクトを作成するための拡張可能なプログラムコードテンプレートです。 objectは、クラスの特定のインスタンスを指します。
'include 'の代わりに' require'を使うことをお勧めします。 –
これは、依存性注入デザインパターンを利用するための良い状況のようにも見えます。 – Ejaz
@ rink.attendant.6 'require_once'はさらに良いです:D –