I've always assumed that - in the absence of constructor parameters - the parentheses (curly brackets) follow the class name when creating a class instance, were optional, and that you could include or exclude them at your own personal whim.
That these two statements were equal:
$foo = new bar; $foo = new bar();
Am I right? Or is there some significance to the brackets that I am unaware of?
I know this sounds like a RTM question, but I've been searching for a while (including the entire PHP OOP section) and I can't seem to find a straight answer.
They are equivalent. If you are not coding by any code convention, use which you like better. Personally, I like to leave it out, as it is really just clutter to me.
$foo = new bar()
would be useful over $foo = new bar
if you were passing arguments to the constructor. For example:
class bar { public $user_id; function __construct( $user_id ) { $this->user_id = $user_id } }
-
$foo = new bar( $user_id );
Aside from that, and as already mentioned in the accepted answer, there is no difference.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With