Одна из вещей, которые мне нравятся в сервлетах Java, - это использование ненавязчивых фильтров и перехватчиков. В основном вы можете использовать эти вещи для обеспечения безопасности, размещения дополнительной информации на HttpRequest, выполнения мониторинга или чего-то еще.
Есть ли эквивалент в PHP?
Из того, что я видел до сих пор, похоже, что вы склонны включать определенный файл на все свои страницы, который будет выполнять такие действия, как запуск сеанса, обеспечение безопасности и т. д. Не так элегантно. Это единственное решение?






В PHP нет эквивалента API сервлета, поэтому быстрый ответ - вам нужно реализовать логику самостоятельно.
У вас есть много возможностей для этого. Практика заключается в создании определенного потока управления в вашем приложении, начиная с одного файла, через который изначально обрабатываются все запросы, которые инициализируют некоторые значения, такие как константы, пути к файлам и т. д., После чего вы начинаете анализировать запрос и генерируете запрошенный контент.
Очевидно, что довольно быстро настроить какой-то главный файл и проанализировать запрос. В прошлом у нас был «один файл .php, чтобы управлять ими всеми», доведенный до максимума. Обычно у вас есть один файл, который будет включать верхний и нижний колонтитулы, и на основе некоторых входящих параметров GET или POST вы также включите некоторые другие страницы, которые будут генерировать или отображать контент. Вы легко можете понять, насколько запутанными могут быть вещи!
Мое предложение, прежде чем вы уйдете и попытаетесь что-то разработать самостоятельно, - это попробовать некоторые из существующих фреймворков, которые уже существуют, и начать работать продуктивно как можно скорее. Я предполагаю, что PHP не является вашей основной компетенцией и что вы покупаете фреймворк, который можно быстро запустить и быстро освоить во всей его сфере. Два из них, CodeIgniter и CakePHP, являются такими же фреймворками для PHP, как WordPress для ведения блогов - функциональными, простыми и эффективными.
Если фреймворки вам не подходят, вам обязательно стоит прочитать Фреймворк PHP MVC без фреймворка.
Нет, может быть, близкий вызов.
Существует конфигурационная директива, указывающая php на автоматическое включение файла в ваш.
auto_prepend_file string
Это может быть полезно для написания чего-то подобного.
Вам следует ознакомиться с библиотекой фильтров, встроенной с php 5.2 (последняя доступная версия) .
http://it.php.net/manual/en/filter.configuration.php. Еще не пользовался, но интересно.
Кстати, подсказка по фреймворку очень ценна. Хотя они мне не нравятся (часто приходится бороться с фреймворком, а не с проблемой, которую я поставил).
библиотека фильтров предназначена только для анализа / фильтрации / очистки входных данных.