Ответ 1
Они эквивалентны. Если вы не кодируете какой-либо условный код, используйте, который вам больше нравится. Лично мне нравится оставлять это, потому что это действительно просто беспорядок для меня.
Я всегда предполагал, что при отсутствии параметров конструктора скобки (фигурные скобки) следуют за именем класса при создании экземпляра класса, являются необязательными и что вы можете включать или исключать их по своему собственному прихоти.
Чтобы эти два утверждения были равны:
$foo = new bar;
$foo = new bar();
Я прав? Или есть какое-то значение для скобок, о которых я не знаю?
Я знаю, что это звучит как вопрос RTM, но я искал какое-то время (включая весь раздел PHP OOP), и я не могу найти прямой ответ.
Они эквивалентны. Если вы не кодируете какой-либо условный код, используйте, который вам больше нравится. Лично мне нравится оставлять это, потому что это действительно просто беспорядок для меня.
$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 );
Кроме того, как уже упоминалось в принятом ответе, нет разницы.