Я всегда предполагал, что при отсутствии параметров конструктора скобки (фигурные скобки) следуют за именем класса при создании экземпляра класса, являются необязательными и что вы можете включать или исключать их по своему собственному прихоти.
То, что эти два утверждения были равны:
$foo = new bar; $foo = new bar();
Я прав? Или есть какое-то значение для скобок, о которых я не знаю?
Я знаю, это звучит как вопрос RTM, но я искал какое-то время (включая весь раздел ООП PHP), и я не могу найти прямой ответ.
Они эквивалентны. Если вы не кодируете какой-либо условный код , используйте, который вам больше нравится. Лично мне нравится оставлять это, потому что это действительно просто беспорядок для меня.
$foo = new bar()
полезен над $foo = new bar
если вы передавали аргументы конструктору. Например:
class bar { public $user_id; function __construct( $user_id ) { $this->user_id = $user_id } }
–
$foo = new bar( $user_id );
Помимо этого, как уже упоминалось в принятом ответе, нет никакой разницы.