Есть ли PHP-эквивалент URL-фильтров / перехватчиков Java?

Одна из вещей, которые мне нравятся в сервлетах Java, - это использование ненавязчивых фильтров и перехватчиков. В основном вы можете использовать эти вещи для обеспечения безопасности, размещения дополнительной информации на HttpRequest, выполнения мониторинга или чего-то еще.

Есть ли эквивалент в PHP?

Из того, что я видел до сих пор, похоже, что вы склонны включать определенный файл на все свои страницы, который будет выполнять такие действия, как запуск сеанса, обеспечение безопасности и т. д. Не так элегантно. Это единственное решение?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
0
2 099
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

В 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. Еще не пользовался, но интересно.

Кстати, подсказка по фреймворку очень ценна. Хотя они мне не нравятся (часто приходится бороться с фреймворком, а не с проблемой, которую я поставил).

библиотека фильтров предназначена только для анализа / фильтрации / очистки входных данных.

Dominik Dorn 23.01.2014 18:34

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