(Editar) Ok la pregunta y la ejemplo de lo que estás tratando de lograr es confuso. Parece que en su ejemplo está tratando de DEFINIR una clase dentro de otra clase.
El nombre correcto para esto es NESTED CLASS y no es posible en PHP. Entonces, para su ejemplo, la respuesta es "NO". No en PHP de todos modos. Otros idiomas permitirán "clases anidadas". Java es un ejemplo.
Por ejemplo, esto no funciona en PHP
class outer_class{
class inner_class{
...
}
...
}
Ahora la pregunta planteada es crear una instancia de una clase en otra clase.
Para esto, la respuesta es "SÍ", puede INSTANTIAR un "objeto" dentro de una "clase". Lo hacemos todo el tiempo
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();
}
}
Una clase incluso se puede crear una instancia. Eso es lo que hace el famoso singleton y muchos otros Creational patterns. Lamentablemente, algunas personas creen que saber dependency injection significa que nunca volverán a llamar a NEW en un método. INCORRECTO.
Ayuda a comprender la diferencia entre una clase y un objeto. A class es una plantilla de código de programa extensible para crear objetos. Un object se refiere a una instancia particular de una clase.
Recomendaría usar 'require' en lugar de' include'. –
Esto también parece una buena situación para utilizar el patrón de diseño de inyección de dependencia. – Ejaz
@ rink.attendant.6 'require_once' es aún mejor: D –