2009-10-18 5 views
1

J'ai commencé à m'intéresser à MVC (en PHP) en passant par Zend. Ma compréhension du Zend Framework est que chaque type de requête utilisateur est mappé à un contrôleur spécifique (qui à son tour peut ou non correspondre à un modèle), et chaque action correspond à une vue. J'ai remarqué le même modèle dans Codeigniter et Kohana, et dans une certaine mesure également dans Symfony. Effectivement, l'URL cartographie ainsi:MVC (PHP): Est-ce que les contrôleurs/actions correspondent à chaque requête?

www.domain.com/index.php/CONTROLLER/ACTION/...additional parameters... 

Est-ce toujours le cas avec MVC? En quoi est-ce différent de Page Controller en tant que modèle de conception?

Répondre

1

Zend Framework utilise Two Step View. C'est très similaire à MVC. Comme vous pouvez le voir, il n'y a pas tellement de correspondance entre l'architecture et la cartographie de l'url.
Si vous voulez en savoir plus sur les architectures possibles, lisez PoEAA par Martin Fowler.

+0

ZF peut être utilisé avec un motif MVC et pour la partie Vue il utilise un motif de vue en 2 étapes – NDM

0

Je pense que la principale différence est qu'avec le modèle Page Controller, vous disposez d'un fichier distinct pour chaque page de votre site Web. Dans une implémentation typique de MVC en PHP, vous pouvez regrouper des actions communes dans un même contrôleur. En outre, l'implémentation MVC typique dans PHP supporte le routage personnalisé vous permettant de créer des cartes personnalisées pour les contrôleurs/actions sans avoir besoin d'utiliser les réécritures du serveur http.

0

1- "Est-ce toujours le cas avec MVC?

paramètres www.domain.com/index.php/CONTROLLER/ACTION/...additional ..."

Non pas toujours son cas, vous pouvez étendre le routage à base de domaine (comme exemple):

domain.tld/USER à USER.DOMAIN.TLD

2 je pense, mais je ne suis pas sûr à 100% que le contrôleur de la page est sous-ensemble de dans MVC Pattern Je veux dire contrôleur de page = le contrôleur SEULEMENT !!!

0

Ma réponse here peut être en mesure de vous aider (ou toute autre personne dans cette situation, car elle est déjà configurée pour répondre).

Questions connexes