2009-06-01 7 views
0

recherche de bonnes pratiques en développement web, lorsque vous écrivez une application web dans un environnement non-framework traditionnel (core PHP ou Perl/CGI), quelle est la manière la plus simple d'organiser ou de mapper les appels du client vers le serveur?Comment organisez-vous les vues/contrôleurs dans une application Web NON MVC?

La réponse est plutôt trivial lorsque vous travaillez dans une page unique champ où, par exemple, vous avez un formulaire à remplir et un bouton d'envoi. Vous pouvez définir l'action du formulaire sur "save.php" et avoir une relation un-à-un entre la page et la fonction à laquelle elle est liée. Donc save.php pourrait exécuter l'action de sauvegarde et écrire au client le formulaire.

Maintenant, le seul non hors-the-box amélioration php J'utilise est un moteur de modèle (TinyButStrong). Chaque fois que j'ai une page complexe avec plusieurs formulaires (par exemple, pour trier une grille, enregistrer quelque chose, demander autre chose, un composant ajax et une boîte de recherche), comment définir les différentes fonctions (recherche, tri, insertion , récupérer) à une seule page d'affichage (index)? Utilisez-vous quelque chose comme index.php? Action = search/index.php? Action = insert ou quelque chose comme la définition de chaque action à une page qui agit comme une fonction (search.php, sort.php, insert.php) chaque délégation de la fonction de présentation à un seul script (index.php)? Que faire si la fonction "search" peut être utilisée par varius "views"?

J'utilise des termes généraux comme la recherche ou insérer comme un exemple, et le referece à PHP est aussi que, par exemple, que je pense que ma question est plutôt générale sur les meilleures pratiques. Merci.

Répondre

0

En créant quelque chose où il y a une action qui vous fait référence à une vue, vous créez essentiellement un contrôleur pour les vues, et vous êtes deux tiers de la MVC. (Pas qu'il n'y a rien de mal à cela, tout c'est là que vous vous dirigez vers)

Q1. Quel est le moyen le plus propre d'organiser ou de mapper les appels du client vers les processus serveur?

A1. L'utilisation du système de fichiers, mais structurée sémantiquement en fonction de la structure de vos données (si possible) en faisant quelque chose comme /search/mysearch est votre option sémantiquement correcte. Nécessite un peu Apache Mojo

Q1. Utilisez-vous quelque chose comme index.php ...

A1. Oui, je n'aurais pas peur de cette approche. Il est idéal d'utiliser une petite magie de réécriture d'Apache pour créer de bons chemins, mais à part ça, il n'y a pas d'autre moyen magique de créer un contrôleur.

Questions connexes