Создание экземпляра класса PHP. Использовать или не использовать скобки? [закрытый]


Я всегда предполагал, что - при отсутствии параметров конструктора-круглые скобки (фигурные скобки) следуют за именем класса при создании экземпляра класса, были необязательными, и что вы можете включить или исключить их по своей личной прихоти.

чтобы эти два утверждения были равны:

$foo = new bar;
$foo = new bar();

Я прав? Или есть какое-то значение для скобок, о которых я не знаю?

Я знаю, что это звучит как вопрос RTM, но я искал некоторое время (включая весь раздел PHP OOP), и я не могу найти прямого ответа.

2 64

2 ответа:

они эквивалентны. Если вы не кодируете с помощью любого конвенция код, использовать который вам больше нравится. Лично я хотел бы оставить его, так как это действительно просто беспорядок для меня.

$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 );

кроме того, и как уже упоминалось в принятом ответе, нет никакой разницы.