php - página - ¿Hay alguna diferencia entre la creación de instancias con paréntesis o sin ella?
manual de programacion android pdf (2)
Son exactamente lo mismo, puedes comparar el código de operación de estos 2 guiones:
1 script:
$object1=new User();
$object1->name="Hello";
echo $object1->name;
class User {}
opcode:
line # * op fetch ext return operands
---------------------------------------------------------------------------------
3 0 > FETCH_CLASS 4 :0 ''User''
1 NEW $1 :0
2 DO_FCALL_BY_NAME 0
3 ASSIGN !0, $1
4 4 ASSIGN_OBJ !0, ''name''
5 OP_DATA ''Hello''
5 6 FETCH_OBJ_R $5 !0, ''name''
7 ECHO $5
6 8 NOP
9 > RETURN 1
2 guiones:
$object1=new User;
$object1->name="Hello";
echo $object1->name;
class User {}
opcode:
line # * op fetch ext return operands
---------------------------------------------------------------------------------
3 0 > FETCH_CLASS 4 :0 ''User''
1 NEW $1 :0
2 DO_FCALL_BY_NAME 0
3 ASSIGN !0, $1
4 4 ASSIGN_OBJ !0, ''name''
5 OP_DATA ''Hello''
5 6 FETCH_OBJ_R $5 !0, ''name''
7 ECHO $5
6 8 NOP
9 > RETURN 1
¿Cuál es la diferencia entre estos 2 códigos?
<?php
$object1 = new User();
//^^
$object1->name = "Hello";
echo $object1->name;
class User {}
?>
Y:
<?php
$object1 = new User;
//^
$object1->name = "Hello";
echo $object1->name;
class User {}
?>
Obtengo el mismo resultado:
Hello
Entonces, ¿hay alguna diferencia si uso los paréntesis o no en:
$object1=new User;
Ambos son iguales. si no usa ninguna convención de código, entonces use la que desee. Creo que $object1 = new User()
sería útil sobre $object1 = new User
. si estabas pasando argumentos al constructor.