2008-12-28 1 views
2

L'une des choses que j'aime à propos des servlets Java est l'utilisation de filtres et d'intercepteurs discrets. Fondamentalement, vous pouvez utiliser ces choses pour renforcer la sécurité, mettre des informations supplémentaires sur le HttpRequest, faire de la surveillance ou autre.Existe-t-il un équivalent PHP aux filtres/intercepteurs d'URL Java?

Existe-t-il un équivalent en PHP? D'après ce que j'ai vu jusqu'ici, il semble que vous ayez tendance à inclure un certain fichier dans toutes vos pages, qui fera des choses comme démarrer la session, renforcer la sécurité, etc. Pas aussi élégant. Est-ce la seule solution?

Répondre

5

Il n'existe aucun équivalent API de servlet fourni avec PHP, donc la réponse rapide est que vous devez implémenter vous-même la logique.

Vous avez beaucoup de marge de manœuvre sur la façon dont vous pouvez accomplir cela. La pratique consiste à créer un certain flux de contrôle au sein de votre application en commençant par un fichier à travers lequel toutes les requêtes sont initialement traitées pour initialiser certaines valeurs, telles que les constantes, les chemins de fichiers, etc. le contenu demandé.

De toute évidence, il est assez rapide de configurer un fichier principal et d'analyser la requête. Dans le passé, nous avions la pratique "un fichier .php pour les gouverner tous" au maximum. Vous avez généralement un seul fichier qui inclurait l'en-tête, le pied de page et basé sur certains paramètres GET ou POST entrants, vous incluriez également d'autres pages qui généreraient ou afficheraient le contenu. Vous pouvez facilement comprendre à quel point les choses peuvent être salissantes! Ma suggestion, avant de partir et d'essayer de développer quelque chose vous-même, est d'essayer quelques-uns des cadres existants qui existent déjà et commencer à être productifs dès que possible. Je présume que PHP n'est pas votre expertise principale et que vous êtes en train de magasiner pour un framework que vous pouvez démarrer rapidement et saisir rapidement sa portée complète. Deux d'entre eux, CodeIgniter et CakePHP, sont autant de frameworks pour PHP que WordPress pour bloguer - fonctionnel, simple et efficace.

Si les frameworks ne suivent pas vos préférences, vous devriez certainement lire The no-framework PHP MVC framework.

2

Non, peut-être un appel proche si.

Il y a une directive de configuration pour demander php pour inclure automagiquement un fichier dans le vôtre

auto_prepend_file string 

Cela peut être utile pour écrire quelque chose de similaire.

Vous devriez parcourir la bibliothèque de filtres intégrée depuis PHP 5.2 (la dernière version disponible).
http://it.php.net/manual/en/filter.configuration.php. Je ne l'ai pas déjà utilisé mais cela semble intéressant.

Par ailleurs, l'indice du cadre est précieux. Bien que je ne les aime pas (souvent je dois combattre le cadre et pas le problème que j'avais assigné).

+0

la bibliothèque de filtres est juste là pour analyser/filtrer/désinfecter des données d'entrée. –