<?php
$action = $request->get('action');
$view= $frame->include('model/' . $action . '.php');
$template->print('view/' . $view. '.html');
?>
c'est du MVC ?
<?php
$action = $request->get('action');
$view= $frame->include('model/' . $action . '.php');
$template->print('view/' . $view. '.html');
?>
c'est du MVC ?
Le concept que j'utilise est que le modèle ne renvoie en aucun cas une vue.En résumé, lorsqu'un client envoie une requête à l'application, celle-ci est analysée par le contrôleur, qui demande au modèle approprié d'effectuer les traitements, puis renvoie la vue adaptée au navigateur, si le modèle ne l'a pas déjà fait.
Bon, je vous écrit maintenant comment moi j'ai résolu le problème.Alors sous quelle forme sont les données transitantes du model au controller ?
Code : Tout sélectionner
// init view variable
$this->viewVar['latest_articles'] = array();
$this->model->action( 'article', 'get_latest',
array('result' => & $this->viewVar['latest_articles'],
'num_articles' => 10 ));
Je ne suis pas sure si je te comprend bien. Vaut mieux préciser.Ni a-t-il pas de standards pour le type et la forme des données intermédiaires (transitantes entre les couches) ?
Car si on doit pouvoir placer n'importe quelle vue après, il faut une homogènéïté entre les informations de façon à avoir un modèle (pas celui du MVC lol) simple.
Non il n'y en a pas.J'ai regardé un peu tes sources Atur. Je ne vois pas d'observer. Est-ce qu'il n'y a pas ? Si oui, est-ce gênant ?
Oui, c'est une implémentation basique et simpliste mais tout-à-fait suffisante dans la plupart des cas. Au boulot j'ai récemment réutilisé un package «MiniMVC» que j'avais réalisé il y a fort longtemps et qui correspond à cette implémentation simpliste, c'est très facile à réaliser, en fait on a globalement 3 classes :Merci
Pour revenir sur le MVC, je pense avoir compris grosso modo le concept. Après si on applique à PHP, en gros voici ce que je comprends :
- la méthode c'est l'ensemble des classes qui traitent avec les bases de données, fichiers ou autres, et effectue des calculs dessus
- la vue ce sont les templates
- le contrôleur c'est le script lui-même, qui appelle dans tel ou tel ordre les méthodes des différentes classes en fonction des informations reçues de l'utilisateur
Suis-je dans le juste ou non ?
Je suis preneur aussi à l'occasionDéjà, Naholyr, est-ce que tu pourrais m'envoyer ton miniMVC que je puisse regarder le fonctionnement. Il me faut un exemple simple.
ouiAprès, une autre question qui va peut être me faire passer pour un con, mais j'ose ^^ (même pas peur !) : est-ce qu'on peut faire un design pattern MVC en PHP 4 ?
J'ai commencé à développer mon Framework en PHP 4, et j'aimerais ne pas passer tout de suite à PHP 5.
MVC est just un structure, architecture selon laquelle tu construit une application. Ca n'a rien avoir avec le type de l'application (cms ou n'importe) .Ce que j'essaye de comprendre, c'est à quoi s'applique le MVC exactement. C'est juste lors de la construction du GUI, le front-end ? Le MVC n'a pas sa place dans le fonctionnement d'un Framework (sauf pour les paquetages qui construisent de l'HTML ou autres). En fait, le MVC n'a sa place que dans un CMS ?
J'avoue être un tantinet perdu ... Mais je compte sur vous pour être mes petites lampes hehe(qu'il est mignon ...)
Merci pour vos réponses.