Различия в момент создания экземпляра класса


с Помощью PHP при создании экземпляра com-объекта, я делаю это следующим образом:

$obj = NEW my_class_exemplo;

Но всегда auto complete netbeans мне возможность поставить с круглых скобках так:

$obj = NEW my_class_exemplo();

Вопрос: Есть ли разница в использовании некоторых из вариантов, с точки зрения производительности и механика?

Author: Maniero, 2014-01-22

2 answers

На практике, как представляется, не существует никакой разницы.

За то, что я понимаю, большинство людей и реализации IDE предпочитают экземпляр с скобки, чтобы следить code, standard - используется в собственную документацию PHP и сообщества в целом, следует, что в других объектно-ориентированных языков объектов.

И Не нашел ссылку в документации PHP, только в Wikipedia, который говорит:

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

Кто-то может возразить, что экономия двух символов (2 байта, если использовать кодировку ASCII, 4 если это UTF-8 ...) ваш PHP-файл будет загружен и толкуется быстрее. Тем не менее, любой прирост, вероятно, будет незначительным и не измерима, поскольку файлы PHP всегда полны символов "осталось", особенно когда смешивается с HTML.

 6
Author: utluiz, 2014-01-22 23:02:04

И В реальности польза или нет скобок является необязательным, если вы не сообщает данных в конструктор класса. Реальная потребность сообщить скобках, - это передача данных в конструктор. Но вопрос стандартизации всегда используйте скобки, как было сказано, для хранения по умолчанию.

<?php

class Foo {

    public function __construct() {
    }
}

class Bar {

    public function __construct( $data ) {

    }
}

new Foo; # Instancia correta, não acusará erro.
new Bar; # Instancia errada, acusará erro.
 5
Author: FelipeBarrosCruz, 2014-01-29 03:01:14