Как несколько объектов могут быть использованы по-разному? Как на самом деле называются эти объекты?

Я учу PHP.

Изучая PHP, я заметил, что в PHP мало сущностей, которые используются по-разному. Иногда с парой круглых скобок с включенным в них параметром / s, иногда с парой пустых скобок (т.е. без каких-либо параметров / с или переданных сообщений / с), а иногда без использования пары круглых скобок.

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

Есть ли в PHP другие подобные объекты, кроме "echo", "print", "die", "exit", с которыми я до сих пор сталкивался?

Что эти сущности на самом деле называются функциями / ключевыми словами / языковыми конструкциями в PHP?

Каков правильный метод / способ / стандарт кодирования для доступа к объектам такого типа?

Было бы лучше для меня, а также для других членов сообщества PHP, которые пытаются изучать PHP, если бы кто-то мог ответить на все мои запросы простым, понятным и легким для понимания языком с надежным объяснением?

Благодарю вас.

1 ответ

Обычно, когда вы видите () после чего-то в PHP, есть ли параметр (ы) внутри или нет, это функция.

Есть два случая, когда круглые скобки являются необязательными.

  1. Языковые конструкции - те, которые вы уже упоминали (echo, print, die, а также exit) так же как break, include, require, require_once, return, а также yield, (Я думаю, что это все с необязательными скобками.)
    Некоторые языковые конструкции, такие как unset а также array действительно требуют скобки. Если вы не уверены, является ли определенное слово функцией или языковой конструкцией, лучше всего обратиться к руководству по PHP. Языковые конструкции будут включены в этот список ключевых слов. Некоторые языковые конструкции также перечислены в справочнике функций(например, echo включен в строковые функции), но на конкретных страницах руководства будет четко указано, является ли термин языковой конструкцией, а также требуются или нет скобки.
    Этот ответ содержит подробное описание того, почему / как языковые конструкции могут использоваться без скобок.

  2. Конструкторы объектов без обязательных аргументов.
    Если конструктор объекта не принимает аргументов или все его аргументы являются необязательными (например, function __construct($foo = null)) тогда круглые скобки могут быть опущены при создании нового объекта. Например, например, $now = new DateTime; а также $now = new DateTime(); оба будут работать.

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

Другие вопросы по тегам