php echo не нуждается в скобках - PullRequest
1 голос
/ 17 марта 2012

, поскольку echo не является функцией, мы не используем скобки при ее вызове.

пример:

echo "hello";

в отличие от

echo ("hello");  

Если бы это была функция, ее бы принудительно вызвали как echo ("hello");

В ASP / Vbscript я могу вызвать функцию одним из следующих способов;

call dosomething("x","y","z")

dosomething "x","y","z"   notice the missing parathesis

Самым близким, что я видел к этому синтаксису без скобок в PHP, является эхо.Мне нравится возможность пропустить скобки.

Мой вопрос к вам: есть ли способ написать функцию в PHP, которая не требует использования скобок?

Ответы [ 3 ]

7 голосов
/ 17 марта 2012

Изнутри PHP? Нет .

Вам потребуется изменить код C в Zend Engine.Это, конечно, нежелательно, так как вам нужно будет использовать пользовательскую сборку для запуска вашего кода.Это также бесполезно смущало бы других программистов.Вы не должны пытаться изменить основные функции языка просто потому, что вам нравится возможность пропускать токены.

Скобки важны для обозначения вызова функций.

Такие вещи, как echo, includeи т. д. называются языковыми конструкциями .То, как они реализованы в языке, аналогично обычным унарным операторам, таким как new, ++ и т. Д.

Обратите внимание, что языковые конструкции строго не пропускают скобки.Например, unset().

2 голосов
/ 17 марта 2012

нет.«Эхо» - это не функция в php, а языковая конструкция, поэтому вы можете использовать ее без паренов.То же самое касается «включить» или «требовать», вы можете использовать их с или без паренов.

0 голосов
/ 17 марта 2012

echo () на самом деле не является функцией (это языковая конструкция), поэтому вам не нужно использовать скобки с ней.

Подробнее о echo можно узнать здесь: http://php.net/manual/en/function.echo.php

...