Как я могу сделать основной PHP скрипт return false
внутри класса или функции?
Почему: это из-за встроенного веб-сервера:
Если PHP файл указан в командной строке при запуске веб-сервера, он рассматривается как "маршрутизатор" script. script запускается в начале каждого HTTP-запроса. Если этот script возвращает FALSE, запрашиваемый ресурс возвращается как есть.
из документации по встроенному веб-серверу PHP
Другими словами, вы возвращаете false
в свой маршрутизатор script, чтобы встроенный веб-сервер мог обслуживать статические файлы. Пример из документации:
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // serve the requested resource as-is.
} else {
echo "<p>Welcome</p>";
}
Дело в том, что я пытаюсь добавить это поведение в веб-фреймворк: я не хочу писать это в index.php
. Я предпочел бы инкапсулировать эту логику в класс (промежуточное ПО), который остановит выполнение script, если php_sapi_name() == 'cli-server'
и задан статический актив.
Однако я не знаю, как я могу сделать весь PHP script return false
из класса или функции, поскольку, очевидно, return false
вернется из текущего метода/функции/файла, а не из основной файл.
Есть ли способ достичь такого же поведения с помощью exit()
например? Я понимаю, что даже не знаю, что означает return false
в главном файле (это конкретный код выхода?).