|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||||
|
Débutant
|
J'ai entrepris la conversion de mon skeleton de transaction vers le modèle MVC tant décrié par de nombreux modérateurs de ce site.
Il y a 2 tutos disponibles et j'ai choisi le second car a une approche objet quitte à s'inspirer plus tard du 1er.... Mais j'ai d'abord des erreurs de parsing à solutionner. Voici mon index.php Code :
Code :
PHP Parse error: syntax error, unexpected T_PUBLIC in F:\WebSites\mvc\index.php on line 17 Code :
Code :
Code :
Code :
Raison aussi pour laquelle je ne comprends pas mon erreur ! Merci à ceussss qui me donneront un coup de main
__________________
Esteban
|
||||||||||
|
|
01
|
|
|
#2 |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 791 ![]() |
Salut,
l'erreur est assez parlante Tu mets un public dans ta signature : Code :
public function launch(Request $request, Response $response) |
|
|
00
|
|
|
#3 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Ton problème ne se situe pas à la ligne #17 mais à la ligne #16. Tu n'est pas dans une classe à cet endroit.
Par ailleurs, je comprends pas bien pour quelle obscure raison t'as été mettre ça là ? ça ressemble à un copier-coller mal compris.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
01
|
|
|
#4 | ||||||||||||
|
Débutant
|
Benjamin,
Je ne vais pas discuter sur la façon de faire un copier-coller ! Mais content de te voir "accrocher" à mon problème puisque tu avais toi-même suggéré cette migration ! Mon 1er souci est d'afficher une page simple d'accueil avec juste un bouton 'Bienvenue' et là dans le pdf mentionné, je suis déjà paumé ! Et je pigerais avec la pratique, ne t'en fait pas pour moi ! Ne trouvant pas répondre à mon problème, je suis passé au 2 ième niveau de complexité du document en repérant les endroits (et il y en a bcp car des "headers" font mauvais ménage avec de l'html).... Non, ce n'est pas du bête copier-coller ! A défaut d'exemple (comme dans le 1er pfd, + gros) je ne vois pas la logique du système MVC ! mais je n'ai pas percuté à part le principe de séparation que je crois avoir +/- adopté dans mon propre skeleton mais cela devenait "fouillis" a défaut d'être structuré ! Je n'ai vu nulle part, je n'ai pas dit que cela n'y figurait pas mais je n'ai pas percuté ! ..... la façon de piloter tes transactions, je me doute que c'est via l'URL mais un exemple aurait été le bienvenu pour les ex-comateux comme moi ! Donc mes modules sont maintenant index.php Code :
Code :
Code :
Code :
Code :
Code :
Merci pour le support de tous !
__________________
Esteban
|
||||||||||||
|
|
00
|
|
|
#5 | ||||
|
Débutant
|
Benjamin,
Mon souci est que je ne parviens pas à voir comme exécuter une bête page comme celle-ci: Code :
Ensuite il y aura une autre bête page avec des champs à valider ! Le bouton Valider étant intercepter par if (isset($_POST[bouton])) un bouton effacer et un derniere Sortie ou une même bête page affichera simplement AUREVOIR @bientôt Actuellement, quand j'exécute mon VirtuyalHost sous Apache 2.2.15, j'ai dans le log.php (5.3.5) Code :
Ce qui a mon sens, reviens à dire qu'il n'a rien trouvé dans l'URL, mais l'URL d'une page index est 99/100 vide..... Je sais c'est con, mais c'est ainsi... Merci à tous ceux qui ont une expérience de la méthologie MVC
__________________
Esteban
|
||||
|
|
00
|
|
|
#6 | ||||||||
|
Débutant
|
Bon, 1/2 journée avec Netbeans 7.0 pour piger le 1er modèle MVC, je me suis arrêté à la page 12 du document de Julien Pauli... et au vu du coding, il apparait que un répertoire INDEX serait nécessaire et que celui-ci contiendrait le fichier index.php, ce que j'ai essayé !
Mon virtualhost serait: http://mvc/index/index.php Voici ce que me donne le log.php: Code :
Code :
Bien des questions en suspens.... ![]() ![]() ![]() ![]() Merci à ceusss qui ont maitrisé le modèle MVC En modifiant la fonction_getCommand du Controller comme ceci: Code :
Code :
Donc: ![]() ![]() ![]()
__________________
Esteban
|
||||||||
|
|
00
|
|
|
#7 | ||||||
|
Débutant
|
Benjamin,
La commande quelconque de la page 12 Code :
Car dans le log.php, j'ai: Code :
Code :
Encore 1X, merci à ceussss qui ont une expérience du modèle MVC ![]()
__________________
Esteban
|
||||||
|
|
00
|
|
|
#8 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
J'ai pas le temps de lire tout l'article alors je vois pas très bien où tu en es... Tu peux me qu'est ce qui coince dans la logique car je n'arrive pas à me faire une idée de l'étape ou tu en es avec les (trop) nombreuses portions de code.
En tout cas l'erreur: Code :
09-May-2011 18:37:59] PHP Fatal error: Cannot redeclare launch() (previously declared in F:\WebSites\mvc\index\index.php:16) in F:\WebSites\mvc\index\index.php on line 21
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
01
|
|
|
#9 |
|
Invité régulier
![]() Inscription : mai 2009 Messages : 7 ![]() |
Hello ! Bon avant de rentrer dans le vif du sujet, est-ce que tu as bien compris l'architecture du modèle MVC ?
Pour résumer : la classe FrontController (un singleton) retourne une instance d'elle même qui sera unique. Bon soit. Donc normalement dans ton index.php qui est le point d'entrée pour toutes les pages tu dois avoir juste : un require_once et le FrontController::getInstance()->dispatch(); (qui ne retourne rien donc pas besoin d'affecter une variable $front). Ensuite le dispatch() va décortiquer la route (= trouver le controleur et son action). Et le forward va justement "executer" l'action sur le controleur qui va bien. Bon là je sors un peu du tuto du site, que je trouve un peu trop complexe pour créer un MVC perso. |
|
|
00
|
|
|
#10 | ||||||||||||||||||||
|
Débutant
|
Merci d'abord au dernier intervenant Euphocat du milieu de cette nuit !
Je veux bien comprendre mais je suppose un tuto non testé !!! Benjamin, J'ai clôturé la discussion précédente à multiples post du WE et j'en ai crée une nouvelle qui fait le statut de la problématique MVC/Tuto ! Le copier/coller a parfois ces avantages, c'est qu'il recopie les éventuelles erreurs de celui- ci et oblige le lecteur a se poser des questions. Si tu reprends le tuto en question, en page 12, tu vois une fonction Code :
Mais dans le controller page 11 dans la fonction forward Code :
Code :
Je vais te récapituler tous les bouts de code et classes que j'ai actuellement: REQUEST Code :
Code :
Code :
Code :
Code :
et INDEX.PHP Code :
Code :
Voilà, j'en ai terminé, j'espère le bootstrap qui me permettra de continuer... @+ et merci !
__________________
Esteban
|
||||||||||||||||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com