2010-05-31 7 views
8

Assez simple question:Quel motif de conception utilise Codeigniter?

Je sais que Codeigniter est un cadre MVC - cependant quel modèle de conception utilise Codeigniter? Du premier coup d'oeil, il semble que la façade, mais je peux me tromper.

Edit:

Peut-être que je devrais décrire Codeigniter pour ceux qui ne l'utilisent pas.
Dans Codeigniter vous avez un concept de contrôleur et un modèle, qui a chacun son propre dossier distinct. Dans chacun des dossiers que vous créez un fichier: cart.php:

<?php 

class Cart { 
//... 
} 
?> 

Ensuite, vous pouvez aussi avoir un modèle:

<?php 

class User { 
    function login(){...} 
} 
?> 

A l'intérieur de la classe Cart, vous pouvez utiliser la fonction de connexion dans Utilisateur en utilisant simplement $ this-> user-> login()

Je trouve cela intéressant parce que le framework fait un objet de l'objet User et non le programmeur.

Répondre

6

Dans Codeigniter vous avez un concept d'un contrôleur et un modèle, chacun a leur propre dossier séparé.

Ils ont leur configuration principale routeur classe telle qu'elle recherche pour le contrôleur correspondant et fichiers de modèle, il peut même aller récursive. Cela n'a rien à voir avec un modèle de conception, c'est juste une organisation de dossier.

Je trouve cela intéressant, car le cadre fait un objet de l'objet utilisateur et le programmeur ne fonctionne pas.

Oui, ils ont créé beaucoup de choses prêtes à l'emploi et à utiliser quand vous le voulez. La classe User est utilisée pour contrôler l'ensemble du système utilisateur.

En gros, comme vous l'avez dit, le modèle de conception principal utilisé est MVC, reste des choses sont contrôlées par différentes base cours pour une tâche spécifique.

+0

Je marquerais aussi MVC sur Codeigniter - mais je ne le vois pas sur http://en.wikipedia.org/wiki/Design_pattern_(computer_science) - ce que je pense qu'il devrait être. Bien que je pense toujours qu'il est modélisé un peu après Facade parce qu'au lieu d'avoir $ user-> login() vous avez une seule classe qui a essentiellement des sous-classes ... qui se trouve être la classe appelante. –

Questions connexes