Cita:
Iniciado por cluster28 No lo he probado porque ahora mismo estoy currando y no puedo probarlo. Pero esto no tiene que mostar "hola mundo"
Código PHP:
echo $obj2->method2($obj->__construct());
Un constructor devuelve siempre un objeto. No puedes retornar otro tipo de dato. Anda que no le di vueltas a esto con mi exjefe que devolvia false si fallaba la creación del objeto y luego comprobaba si el resultado de new Objeto era realmente un objeto. Vamos que picábamos código inútil.
Creo que te equivocas.
Como bien dices, no funcionaría y, por lo tanto, daría error lo siguiente
Código PHP:
Ver originalecho (new class1());
echo (new class2());
//tampoco funcionaría lo siguiente
echo $obj;
echo $obj2;
Pero si te fijas en el ejemplo que has puesto
Código PHP:
Ver original//el código que hay anterior es este
$obj= new class1();
$obj2=new class2();
//este el ejemplo que has puesto
echo $obj2->method2($obj->__construct());
Si te fijas, el __construct de la class1 ha sido inicializado antes de ser utilizado, por lo tanto, lo puedo imprimir de la manera que tú dices que no se puede.
Esto se debe a que __construct solo sirve, en un principio, para inicializar una clase, y por ello no puedo utilizarlo, es decir, no puedo utilizar algo que todavía no se ha inicializado, pero una vez inicializado, sí puedo utilizarlo.