tipos - Instanciación de clase PHP Para usar o no usar los paréntesis?
que es un constructor en php (2)
Ellos son equivalentes. Si no está codificando por ninguna convención de código , use la que más le guste. Personalmente, me gusta dejarlo fuera, ya que en realidad solo es un montón para mí.
Siempre he supuesto que, en ausencia de parámetros de constructor, los paréntesis (corchetes) siguen el nombre de la clase cuando se crea una instancia de clase, eran opcionales y se podían incluir o excluir a su antojo personal.
Que estas dos declaraciones fueron iguales:
$foo = new bar;
$foo = new bar();
¿Estoy en lo cierto? ¿O hay algún significado para los corchetes que desconozco?
Sé que esto suena como una pregunta RTM, pero he estado buscando por un tiempo (incluida toda la sección PHP OOP) y parece que no puedo encontrar una respuesta directa.
$foo = new bar()
sería útil sobre $foo = new bar
si estuvieras pasando argumentos al constructor. Por ejemplo:
class bar {
public $user_id;
function __construct( $user_id ) {
$this->user_id = $user_id
}
}
-
$foo = new bar( $user_id );
Aparte de eso, y como ya se mencionó en la respuesta aceptada, no hay diferencia.