Petite question à propos PHP POO, MVC ?
Fermé
chabacha109
Messages postés
268
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
14 mai 2012
-
Modifié par chabacha109 le 30/06/2011 à 03:12
chabacha109 Messages postés 268 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 14 mai 2012 - 14 juil. 2011 à 01:26
chabacha109 Messages postés 268 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 14 mai 2012 - 14 juil. 2011 à 01:26
A voir également:
- Petite question à propos PHP POO, MVC ?
- Easy php - Télécharger - Divers Web & Internet
- Petite amie virtuelle en français - Accueil - Intelligence artificielle
- Comment dévisser une petite visse sans tournevis - Forum Réseaux sociaux
- Petite vague clavier - Forum Clavier
- La fenetre actuelle est trop petite pour afficher correctement cette feuille - Forum Google Docs
6 réponses
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
22 juin 2011 à 17:29
22 juin 2011 à 17:29
Salut,
« et une page index. php(c'est la vue.., affichage des résultats ..) »
Je pense que index.php devrait plutôt être le contrôleur car ceux-ci sont appelés par le navigateur, pas les vues.
« quelle est le type de relation entre la classe controleur et modéle ??(simple relation, héritage....) ? »
Le contrôleur doit inclure le modèle.
À partir de là, tu peux utiliser la classe ou les fonctions écrites dans le modèle.
Le contrôleur doit également inclure les vues.
« et une page index. php(c'est la vue.., affichage des résultats ..) »
Je pense que index.php devrait plutôt être le contrôleur car ceux-ci sont appelés par le navigateur, pas les vues.
« quelle est le type de relation entre la classe controleur et modéle ??(simple relation, héritage....) ? »
Le contrôleur doit inclure le modèle.
À partir de là, tu peux utiliser la classe ou les fonctions écrites dans le modèle.
Le contrôleur doit également inclure les vues.
chabacha109
Messages postés
268
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
14 mai 2012
9
Modifié par chabacha109 le 23/06/2011 à 01:40
Modifié par chabacha109 le 23/06/2011 à 01:40
salut merci pour la réponse :),
aprés ce tutoriel j'ai trouvé que ta réponse est la bonne....
http://www.siteduzero.com/tutoriel-3-31452-adopter-un-style-de-programmation-clair-avec-le-modele-mvc.html
j'ai tort ! , index.php est le controleur...,je comprend bien..
en effet, il me reste une deuxiéme question :
pour mon application je doit travailler avec l' orienté objet , malheureusement dans ce tuto c'est du php classique....
bref : je vous donne un exemple de mvc avec POO , ensuite tu me donne ton avis à propos.
c'est la page controleur.php:
//appel au modéle
/*
NB get_membre_information($x) c'est une fonction dans "modéle.php"
elle retourne un tableaux des informations de membre
*/
----------------------------------------------------------------------
modéle.php(un ensemble des fonctions) :
//connection..
----------------------------------------------------------------------
vue.php(instanciation de la classe membre....)
par exemple :
----------------------------------------------------------------------
je crois que c'est parfait ? non ?
bon, dans cet exemple la page "modéle.php" est un ensemble des fonctions,
heureusement ici les appelles vers les fonctions est assez simple,
mais dans le cas où la page "modéle.php" soit une classe, comment faire dans ce cas ,
plutôt comment interroger les methodes de cette classe a partir la classe membre ??
j'ai une idée mais je ne suis pas sure ...
faire une instance de la classe modéle.php, ensuite appeller une methode..
le probléme ici c'est (a chaque appel a une methode de la classe membre il faut faire une instance de la classe modéle.php..) c'est trop couteux en mémoire....je crois
voila donc.
merci pour votre attention ^_^
To Be Or Not To Be , Marwen
aprés ce tutoriel j'ai trouvé que ta réponse est la bonne....
http://www.siteduzero.com/tutoriel-3-31452-adopter-un-style-de-programmation-clair-avec-le-modele-mvc.html
j'ai tort ! , index.php est le controleur...,je comprend bien..
en effet, il me reste une deuxiéme question :
pour mon application je doit travailler avec l' orienté objet , malheureusement dans ce tuto c'est du php classique....
bref : je vous donne un exemple de mvc avec POO , ensuite tu me donne ton avis à propos.
c'est la page controleur.php:
//appel au modéle
include_once("modéle.php"); class membre{ private $login; private $password; private $pays; public __construct($log) {
/*
NB get_membre_information($x) c'est une fonction dans "modéle.php"
elle retourne un tableaux des informations de membre
*/
$tab=get_membre_information($log); $this->login=$tab['login']; $this->password=$tab['password']; $this->pays=$tab['pays']; } public function connect($log,$pass) { $est_connecte=existe_membre($log,$pass); if($est_connecte) { echo "ok"; $_SESSION["login"]=$log; } else echo "no"; } public function inscri($log,$pass,$pays) { $res=ajouter_membre($log,$pass,$pays); if($res) echo "ok"; else echo "no"; } } include_once("vue.php");
----------------------------------------------------------------------
modéle.php(un ensemble des fonctions) :
//connection..
$connexion = new PDO("mysql:host=root;dbname=ma_base"); function ajouter_membre($log,$pass,$pays) {....} function existe_membre($log,$pass) {....} function get_membre_information($log) {....}
----------------------------------------------------------------------
vue.php(instanciation de la classe membre....)
par exemple :
$m=new membre("chabacha109"); $m->connect("chabacha109","xxxx"); .....
----------------------------------------------------------------------
je crois que c'est parfait ? non ?
bon, dans cet exemple la page "modéle.php" est un ensemble des fonctions,
heureusement ici les appelles vers les fonctions est assez simple,
mais dans le cas où la page "modéle.php" soit une classe, comment faire dans ce cas ,
plutôt comment interroger les methodes de cette classe a partir la classe membre ??
j'ai une idée mais je ne suis pas sure ...
faire une instance de la classe modéle.php, ensuite appeller une methode..
le probléme ici c'est (a chaque appel a une methode de la classe membre il faut faire une instance de la classe modéle.php..) c'est trop couteux en mémoire....je crois
voila donc.
merci pour votre attention ^_^
To Be Or Not To Be , Marwen
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
23 juin 2011 à 13:02
23 juin 2011 à 13:02
Salut,
Tu n'as pas encore tout à fait compris.
Pour commencer, la vue ne contient pas de code de code PHP.
Enfin, si, pour afficher les variables, faire des boucles, des conditions (afficher un message s'il n'y a aucun article par exemple).
Ici, ta vue fait appel au contrôleur, ce n'est pas normal.
Un modèle représente une ressource. Ainsi, tu as un modèle pour les membres, un autre pour les articles, un autre pour les catégories, etc.
Le modèle est souvent un classe contenant des méthodes pour ajouter, modifier, supprimer ou récupérer les données d'un élément (une news, un membre, etc).
Quant au controleur, dans ton cas, utiliser une classe ne sert à rien.
Ça peut être utile dans la cas où tu as une classe de base « Controller » de base contenant des méthodes pour (par exemple) traiter la requête HTTP, la mise en cache, les cookies, etc : c'est plus souvent utilisé dans les frameworks.
Tu n'as pas encore tout à fait compris.
Pour commencer, la vue ne contient pas de code de code PHP.
Enfin, si, pour afficher les variables, faire des boucles, des conditions (afficher un message s'il n'y a aucun article par exemple).
Ici, ta vue fait appel au contrôleur, ce n'est pas normal.
Un modèle représente une ressource. Ainsi, tu as un modèle pour les membres, un autre pour les articles, un autre pour les catégories, etc.
Le modèle est souvent un classe contenant des méthodes pour ajouter, modifier, supprimer ou récupérer les données d'un élément (une news, un membre, etc).
Quant au controleur, dans ton cas, utiliser une classe ne sert à rien.
Ça peut être utile dans la cas où tu as une classe de base « Controller » de base contenant des méthodes pour (par exemple) traiter la requête HTTP, la mise en cache, les cookies, etc : c'est plus souvent utilisé dans les frameworks.
chabacha109
Messages postés
268
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
14 mai 2012
9
Modifié par chabacha109 le 24/06/2011 à 20:32
Modifié par chabacha109 le 24/06/2011 à 20:32
salut,
;( , je ne comprend pas mais j'ai lu attentivement le tuto ,je crois que le problème c'est le passage vers le POO, déja le tuto contient du php classique....
j'ai décidé de démarrer avec les framework comme zend, pour mieux comprendre
grand merci ^^
;( , je ne comprend pas mais j'ai lu attentivement le tuto ,je crois que le problème c'est le passage vers le POO, déja le tuto contient du php classique....
j'ai décidé de démarrer avec les framework comme zend, pour mieux comprendre
grand merci ^^
Utilisateur anonyme
Modifié par neoprog67 le 23/06/2011 à 15:10
Modifié par neoprog67 le 23/06/2011 à 15:10
Bonjour,
Pourquoi n'essayerez-vous pas un Framework PHP comme Zend ou Symphony ?
Ils intègrent toutes ces notions MVC déjà implémentées et il existe de nombreux tutoriaux pour débuter.
Si vous maîtrisez bien PHP cela vaut la peine.
Zébulon
Pourquoi n'essayerez-vous pas un Framework PHP comme Zend ou Symphony ?
Ils intègrent toutes ces notions MVC déjà implémentées et il existe de nombreux tutoriaux pour débuter.
Si vous maîtrisez bien PHP cela vaut la peine.
Zébulon
chabacha109
Messages postés
268
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
14 mai 2012
9
Modifié par chabacha109 le 24/06/2011 à 20:34
Modifié par chabacha109 le 24/06/2011 à 20:34
salut,
oui effectivement, je vais commencer un tuto zend ;)
merci a vous aussi ^^
oui effectivement, je vais commencer un tuto zend ;)
merci a vous aussi ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
chabacha109
Messages postés
268
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
14 mai 2012
9
Modifié par chabacha109 le 11/07/2011 à 13:00
Modifié par chabacha109 le 11/07/2011 à 13:00
Bonjour,
j'ai un probléme avec le réécriture des url sous zend...
lorsque je tape http://localhost:8888/zendtest/Public/ ,bah ici ça marche
il appel le controleur IndexController.php et la vue views/scripts/index/index.phtml.....
en fait IndexController.php c'est le controlleur par defaut méme pour index/index.phtml.
ensuite j'ai créé mon propre conrolleur et vue pour tester le mod rewrite:
application/controllers/AfficheController.php
application/views/scripts/affiche/index.phtml
lorsque je tape http://localhost:8888/zendtest/Public/affiche/index
il affiche :
An error occurred
Page not found.
il me redirige vers la page error/error.phtml, autrement dit
la ressource "affiche" de(AfficheController.php) et le service "index" de( function indexAction(){})
n'existent pas !!
d'ou vient le probléme, j'ai bien tout préparer ! , en plus il marche avec le controlleur et la vue par defaut
AIDEZ MOI SVP , merci beaucoup beacoup ^_^
To Be Or Not To Be , Marwen
j'ai un probléme avec le réécriture des url sous zend...
la class bootstrap.php : class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { } mon fichier .htaccess situé dans Public/ : RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L]
lorsque je tape http://localhost:8888/zendtest/Public/ ,bah ici ça marche
il appel le controleur IndexController.php et la vue views/scripts/index/index.phtml.....
en fait IndexController.php c'est le controlleur par defaut méme pour index/index.phtml.
ensuite j'ai créé mon propre conrolleur et vue pour tester le mod rewrite:
application/controllers/AfficheController.php
class AfficheController extends Zend_Controller_Action { public function init() { } public function indexAction() { } }
application/views/scripts/affiche/index.phtml
<center> hello ! c'est la vue de AfficheController.php !!! </center>
lorsque je tape http://localhost:8888/zendtest/Public/affiche/index
il affiche :
An error occurred
Page not found.
il me redirige vers la page error/error.phtml, autrement dit
la ressource "affiche" de(AfficheController.php) et le service "index" de( function indexAction(){})
n'existent pas !!
d'ou vient le probléme, j'ai bien tout préparer ! , en plus il marche avec le controlleur et la vue par defaut
AIDEZ MOI SVP , merci beaucoup beacoup ^_^
To Be Or Not To Be , Marwen
chabacha109
Messages postés
268
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
14 mai 2012
9
14 juil. 2011 à 00:57
14 juil. 2011 à 00:57
pas des réponses ! :(((
voila mon projet uploder sur 4shared pour mieux comprendre...
http:// www . 4shared . com / file / Hu28VRMX / zendtestSite_De_Zero.html?
merci d'avance
voila mon projet uploder sur 4shared pour mieux comprendre...
http:// www . 4shared . com / file / Hu28VRMX / zendtestSite_De_Zero.html?
merci d'avance
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
Modifié par avion-f16 le 14/07/2011 à 01:15
Modifié par avion-f16 le 14/07/2011 à 01:15
Je n'ai jamais utilisé Zend Framework, je ne saurais pas t'aider plus, désolé.
Bonne continuation.
« mon fichier .htaccess situé dans Public/ : »
Normalement tu devrais tomber directement dans ce dossier en tapant http://localhost:8888/ , sans avoir la possibilité de remonter dans les autres dossiers.
Bonne continuation.
« mon fichier .htaccess situé dans Public/ : »
Normalement tu devrais tomber directement dans ce dossier en tapant http://localhost:8888/ , sans avoir la possibilité de remonter dans les autres dossiers.
chabacha109
Messages postés
268
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
14 mai 2012
9
14 juil. 2011 à 01:26
14 juil. 2011 à 01:26
salut,
@avion-f16 , pas de problème monsieur ^^ , j'attend les amis....
le dossier Public sous zend contient par convention :
un fichier index.php et un .htaccess
c'est le déclencheur de toute l'application :), ensuite si vous voulez supprimer /public
il suffit de créer une hôte virtuel....
@avion-f16 , pas de problème monsieur ^^ , j'attend les amis....
le dossier Public sous zend contient par convention :
un fichier index.php et un .htaccess
c'est le déclencheur de toute l'application :), ensuite si vous voulez supprimer /public
il suffit de créer une hôte virtuel....