Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/03/2011, 21h22   #1
Futur Membre du Club
 
Inscription : août 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 74
Points : 16
Points : 16
Par défaut application d'MVC en upload

bonjour,

je veux savoir comment faire une page d'upload en se basant sur le design pattern MVC, tout ce que je connais c'est qu'il y a : MODELE, VUE et CONTROLEUR, dans la vue j'aurais à coder une page en HTML, css, js.. qui contiendra un champ d'upload de type : <input type="file" .../>, j'ai ma classe en php5 qui gère l'upload, c'est le modèle ou le controleur??, et si elle est le modèle comment je vais gérer l'upload depuis la vue??.

merci d'avance
ned_kelly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2011, 02h20   #2
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Lis ça
http://julien-pauli.developpez.com/t...vc-controleur/
batataw est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2011, 02h28   #3
Futur Membre du Club
 
Inscription : août 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 74
Points : 16
Points : 16
merci, mais j'ai déjà vu cela, le cas chez moi c'est que j'utilise pas une base de données, j'ai juste ma classe qui sert d'upload et ma j'aurais a créer une page en html, je ne sais pas est-ce que ma classe serai le controleur ou le model ?

il me semble que puisque je n'utilise pas une BD je n'aurai pas a faire avec le model, mais est-ce le cas ou pas ?

merci encore une fois
ned_kelly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2011, 02h38   #4
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Grossomo le controleur est chargé de passer les informations entre la VUE et le MODEL.

A priori tu n'as pas besoin de Model puisque pas de base de données.

Tu te sers donc que de ta Vue et de ton Controleur.
batataw est actuellement connecté   Envoyer un message privé Réponse avec citation 01
Vieux 27/03/2011, 23h44   #5
Membre actif
 
Inscription : décembre 2006
Messages : 184
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 184
Points : 198
Points : 198
pourquoi un model ne serai que base de données?
cela peut être un fichier genre xml.
ton model contiendra les infos de ton fichier uploadé (la base de données n'est qu'un moyen d'obtenir le model)
Helfima est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 03h59   #6
Futur Membre du Club
 
Inscription : août 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 74
Points : 16
Points : 16
oui voilà, et déjà le modele du MVC peut contenir toute la logique métier mis a part la connexion au bases de données.. bon j'ai lu des cours concernant le MVC et d'autres bonnes pratiques et je suis sur las rails, meme si j'avoue que le MVC n'est vraiment pas si simple a implémenter comme je pensais
ned_kelly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 09h51   #7
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Citation:
Envoyé par ned_kelly Voir le message
oui voilà, et déjà le modele du MVC peut contenir toute la logique métier mis a part la connexion au bases de données.. bon j'ai lu des cours concernant le MVC et d'autres bonnes pratiques et je suis sur las rails, meme si j'avoue que le MVC n'est vraiment pas si simple a implémenter comme je pensais
Ton approche n'est pas bonne, à chaque problème ses solutions. Toi tu essayes de faire le contraire. Tu choisis le pattern MVC et tu veux faire un upload la dessus. Je ne connais pas ton projet dans le détail mais upload de fichier ce n'est pas l'exemple que je prendrais pour illustrer le MVC. C'est en partie pour ça que tu coinces.
batataw est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 10h01   #8
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Citation:
Envoyé par ned_kelly Voir le message
bonjour,

je veux savoir comment faire une page d'upload en se basant sur le design pattern MVC, tout ce que je connais c'est qu'il y a : MODELE, VUE et CONTROLEUR, dans la vue j'aurais à coder une page en HTML, css, js.. qui contiendra un champ d'upload de type : <input type="file" .../>, j'ai ma classe en php5 qui gère l'upload, c'est le modèle ou le controleur??, et si elle est le modèle comment je vais gérer l'upload depuis la vue??.

merci d'avance
En gros, tu peux considérer que si c'est une classe, c'est un modèle. (et ce, pas obligatoirement pour la gestion de bdd...)

Ton contrôleur, dans le cadre de l'upload, instanciera ta classe d'upload et surtout fera les vérifications nécessaires des variables reçues (soit via des méthodes de ta classe si elles existent), soit via une autre classe. Tu peux aussi le faire via une/des méthode/s dans ton contrôleur (mais il faut éviter le DRY, si ces méthodes doivent être utilisées dans un autre contrôleur, ce n'est pas le bon choix)
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2011, 17h19   #9
Futur Membre du Club
 
Inscription : août 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 74
Points : 16
Points : 16
Citation:
Envoyé par batataw Voir le message
Ton approche n'est pas bonne, à chaque problème ses solutions. Toi tu essayes de faire le contraire. Tu choisis le pattern MVC et tu veux faire un upload la dessus. Je ne connais pas ton projet dans le détail mais upload de fichier ce n'est pas l'exemple que je prendrais pour illustrer le MVC. C'est en partie pour ça que tu coinces.
oui, mais qu'on il faut implémenter un design pattern, on est censé le faire pour la totalité du projet et non pas pour une partie et là ou on coince on cherche autre chose, et je pense que tu as tort concernant le MODELE, parce que ce dernier peut contenir toutes classe metiers quelles soient en relation avec une BD ou juste une classe metier qui calcul ou fait un traitement precis.

merci encore une fois cette discussion me montre encore de nouvelles choses
ned_kelly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2011, 17h23   #10
Futur Membre du Club
 
Inscription : août 2008
Messages : 74
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 74
Points : 16
Points : 16
Citation:
Envoyé par Shikiryu Voir le message
En gros, tu peux considérer que si c'est une classe, c'est un modèle. (et ce, pas obligatoirement pour la gestion de bdd...)
oui voilà, c'est bien cela le MODELE de l'MVC , et c'est ce que j'ai fait ma classe d'upload je l'instancie au niveau du controleur et j'utilise quelques une de c'est methodes et apres j'appelle la vue, mais j'ai toujours pas fini, je teste encore

merci encore une fois
ned_kelly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2011, 18h15   #11
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Citation:
Envoyé par ned_kelly Voir le message
oui, mais qu'on il faut implémenter un design pattern, on est censé le faire pour la totalité du projet et non pas pour une partie et là ou on coince on cherche autre chose,
Heu non, y'a pas de règles aussi rigides cependant c'est mieux de le faire via ton pattern MVC si c'est plus cohérent. Imagine que tes fichiers n'aient pas besoin de model. Par exemple une copie direct dans un dossier fichiers après upload. Vas-tu créer un model juste pour faire du MVC. Au contraire il ne faut pas hésiter à adapter un projet si tu y gagnes en productivité et en clarté. (Attention je ne parle pas de faire un hack).

Citation:
Envoyé par ned_kelly Voir le message
et je pense que tu as tort concernant le MODELE, parce que ce dernier peut contenir toutes classe metiers quelles soient en relation avec une BD ou juste une classe metier qui calcul ou fait un traitement precis.

merci encore une fois cette discussion me montre encore de nouvelles choses
Relis moi je n'ai jamais dis le contraire, je me demandais juste si tu n'essayais pas à tout pris de faire du MVC là où il en avait pas nécessairement besoin. En ce qui concerne les classes métiers c'est un long débat moi je les préfère dans le modèle mais certains préfèrent complétement les séparer.

En tout cas c'est bien ton projet progresse, j'espère que tu as réussi à avancer sur ta question initiale.
batataw est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h04.


 
 
 
 
Partenaires

Hébergement Web