Различия в момент создания экземпляра класса
с Помощью PHP
при создании экземпляра com-объекта, я делаю это следующим образом:
$obj = NEW my_class_exemplo;
Но всегда auto complete netbeans мне возможность поставить с круглых скобках так:
$obj = NEW my_class_exemplo();
Вопрос: Есть ли разница в использовании некоторых из вариантов, с точки зрения производительности и механика?
2 answers
На практике, как представляется, не существует никакой разницы.
За то, что я понимаю, большинство людей и реализации IDE предпочитают экземпляр с скобки, чтобы следить code, standard - используется в собственную документацию PHP и сообщества в целом, следует, что в других объектно-ориентированных языков объектов.
И Не нашел ссылку в документации PHP, только в Wikipedia, который говорит:
Вызовы функций должны иметь в скобках, за исключением функции-конструктора классов, когда это не имеет аргументы и вызывается с помощью оператора
new
PHP, где скобки, являются необязательными (перевод свободный).
Кто-то может возразить, что экономия двух символов (2 байта, если использовать кодировку ASCII, 4 если это UTF-8 ...) ваш PHP-файл будет загружен и толкуется быстрее. Тем не менее, любой прирост, вероятно, будет незначительным и не измерима, поскольку файлы PHP всегда полны символов "осталось", особенно когда смешивается с HTML.
И В реальности польза или нет скобок является необязательным, если вы не сообщает данных в конструктор класса. Реальная потребность сообщить скобках, - это передача данных в конструктор. Но вопрос стандартизации всегда используйте скобки, как было сказано, для хранения по умолчанию.
<?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.