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.
$foo = new bar()
would be useful over$foo = new bar
if you were passing arguments to the constructor. For example:-
Aside from that, and as already mentioned in the accepted answer, there is no difference.
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.