4 votes

L'effet de Codeigniter HMVC sur la performance

D'accord, donc HMVC dans Codeigniter est la voie à suivre pour les applications web évolutives (avec Kohana 3) basé sur de nombreuses discussions de stackoverflow telles que Modèles HMVC y MVC vs HMVC .

Mais comment l'utilisation d'une approche HMVC affectera-t-elle les performances lorsqu'elle est utilisée dans Codeigniter ? D'après ce que j'ai compris, HMVC va "simuler un contrôleur". Dans l'hypothèse d'un projet à grande échelle d'un jour, l'implémentation de Codeigniter posera-t-elle un problème à l'avenir ?

6voto

Phil Sturgeon Points 19227

HMVC ajoute deux fonctionnalités principales à CodeIgniter, ce qui est souvent source de confusion :

  1. MVC modulaire
  2. MVC hiérarchique

Le MVC modulaire est la fonctionnalité que la plupart des gens veulent utiliser et il s'agit essentiellement d'un moyen d'avoir une structure de dossiers plus propre.

HMVC est la pratique qui consiste à appeler des contrôleurs à partir d'autres contrôleurs sans avoir besoin d'une nouvelle requête HTTP. À mon avis, cette pratique est très rarement utile, sauf pour appeler une page 404 personnalisée ou des "widgets".

MMVC n'ajoute pratiquement rien aux performances, l'appel d'un contrôleur via HMVC est évidemment presque deux fois plus lent.

Quoi qu'il en soit, aucun des deux ne sera perceptible. Si votre site commence à ramper sous l'effet d'un trafic élevé, c'est l'une des dernières choses dont vous devez vous préoccuper.

2voto

marcus Points 211

Avec HMVC, vous n'avez plus besoin de coder vos modules comme c'est le cas dans Codeigniter. Si un client a besoin d'une fonctionnalité que vous avez déjà réalisée dans votre projet précédent, il vous suffit de la copier et de la déposer dans votre projet actuel.

Telle qu'elle est mise en œuvre dans Codeigniter, vous pouvez coder comme vous le faisiez auparavant et ne mettre en œuvre que les fonctionnalités qui, selon vous, requièrent HMVC.

Quant aux performances, elles dépendent de la manière dont vous concevez votre application en général.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X