Я читал о специфике PHP в режиме CLI и не могу объяснить для себя, какая утилита имеет флаг -f.
Можно выполнить любой скрипт PHP как "php name_of_script.php"
или же "php -f name_of_script.php"
Я предполагаю, что этот вариант — просто своего рода синтаксический сахар. Также его существование может быть объяснено тем фактом, что для пользователя это более очевидно, когда он видит, что этот файл выполняется. Я не могу придумать никаких других объяснений. Кто-нибудь видит другое использование этого?
У PHP очень долгая история с множеством дизайнерских решений, потерянных в глубине веков; Я не уверен, что кто-нибудь сможет рассказать вам определенный почему есть и -f
возможность и возможность запуска файла без каких-либо параметров вообще.
Тем не менее, это, кажется, разработано для удобства пользователя; большинство пользователей командной строки ожидают, что интерпретатор интерпретирует имя файла, представленное как один параметр, и это наиболее распространенный вариант использования, поэтому имеет смысл сделать его наиболее быстрым для ввода. Я думаю, что PHP CLI начался с просто -f
опция, и опция для запуска файла, предоставляя только имя файла, была добавлена позже, чтобы облегчить жизнь людям. -f
был сохранен для обратной совместимости.
я Можно вспомните один случай, когда -f
опция полезна: если имя файла начинается с дефиса, например -.php
,
Когда предоставлено как единственный параметр, это будет обработано как опция, и терпит неудачу:
$ php -.php
Usage: php [options] [-f] <file> [--] [args...]
php [options] -r <code> [--] [args...]
php [options] [-B <begin_code>] -R <code
...
Однако с -f
сработает
$ php -f -.php
<script executes successfully>
Других решений пока нет …