IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

lien vers une méthode d'objet


Sujet :

Langage PHP

  1. #21
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Le concept est une subdivision du Modèle. Oublies le concept et penses uniquement Modèle. Le modèle est le nom générique pour regrouper tout ce qui est propre au métier de l'application.
    on disait que l'action d'un formulaire n'est pas une vue
    Le formulaire n'a pas d'action. Il est isolé et en bout de chaîne dans ton traitement. Faut le laisser tranquille, il ne fait que le rendu et pas plus.

    En faisant simple et concis :
    - Pour chaque action de ton application (créer, modifier, supprimer...) tu dois faire correspondre une route (url)
    - Pour chaque route de ton site web tu dois faire correspondre un contrôleur

    De là tu peux en déduire que :
    - Pour chaque action de ton application tu dois avoir un contrôleur

    Enfin, chaque contrôleur dispose de l'ensemble du code de ton site pour parvenir à exécuter ce pourquoi il est prévu.
    S'il doit créer un enregistrement, il fera appel à la couche d'accès aux données.
    S'il doit renvoyer un formulaire pour une saisie, il incluera le formulaire adéquate et le renverra en guise de réponse.
    S'il doit générer un PDF, il initialisera la librairie PDF et pourra transférer le traitement à une routine dédiée pour la création du fichier PDF.

    Bref, diviser pour mieux régner.
    Après il faudrait se plonger dans un cours théorique sur le MVC (mais là j'ai pas vraiment le temps tu vois).

  2. #22
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut
    Le formulaire n'a pas d'action
    Certes, pas au sens "MVC", mais il y en quand même une :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <FORM METHOD="POST" ou "GET" ACTION="url" ENCTYPE="---">
    ...
    </FORM>
    et c'est de ça que je parle.

    Ce que j'ai compris : depuis le modèle, l'utilisateur peut choisir entre plusieurs actions ; pour chacune d'elles, il y a une route (en fait une méthode d'un contrôleur).

    Mais un truc que je ne vois pas : le modèle propose plusieurs actions et pour chacune d'elles, une méthode d'un contrôleur, mais comment appeler celle-ci vu que l'objet "contrôleur" n'appartient pas au modèle ?

  3. #23
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Ce que j'ai compris : depuis le modèle, l'utilisateur peut choisir entre plusieurs actions ; pour chacune d'elles, il y a une route (en fait une méthode d'un contrôleur).
    ou un contrôleur dédié.

    Citation Envoyé par laurentSc Voir le message
    Mais un truc que je ne vois pas : le modèle propose plusieurs actions et pour chacune d'elles, une méthode d'un contrôleur, mais comment appeler celle-ci vu que l'objet "contrôleur" n'appartient pas au modèle ?
    C'est pas le modèle qui appelle le contrôleur mais le contrôleur frontal de ton site.

    Voici une explication :
    - Ton site doit avoir un point d'entrée bien défini : ex: index.php (cela veut dire que tu rediriges toutes les requêtes vers index.php)
    - Dans le code de index.php, tu vas instancier une classe spéciale FrontController() qui va se charger d'analyser la route afin de trouver le contrôleur qui en est responsable.
    Pour cela, le FrontController va parcourir les tables de routages, comparer la route avec toutes celles définies, et si une correspondance est trouvée, s'arrêter et récupérer le contrôleur rattaché.
    Ensuite il va instancier ce Contrôleur et lui passer la main afin qu'il puisse fournir une réponse appropriée à la requête.
    Une table de routage ce n'est rien de plus qu'un mécanisme qui stocke des paires : route -> (controller, action) (en simplifié)
    Une fois la réponse construite, le contrôleur peut rattacher la réponse au FrontController qui se charge de l'envoyer (pas toujours, ça dépend des fwk).

    Voilà un bref résumé. On pourrait aussi y passer la nuit tant les subtilités sont nombreuses.

  4. #24
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut
    Merci d'avoir tenté de m'expliquer, mais je constate que je n'ai pas le bagage suffisant pour suivre. En gros, il faut forcément passer par le MVC, donc éventuellement recourir à un framework, qui fera le gros du boulot, même s'il est nécessaire d'en connaître la philosophie ; c'est aussi ton avis ?

  5. #25
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726

  6. #26
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut
    Merci pour le lien (qu'on m'avait déjà donné, mais pas encore étudié (essayé, mais abandonné)). Mais j'aimerais d'abord me faire les dents sur la POO sans framework, afin d'assimiler d'abord cette technologie ; ça doit être possible ; comment s'y prendre (sachant que j'étais parti sur un truc visiblement trop complexe) ?

  7. #27
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    En gros, il faut forcément passer par le MVC, donc éventuellement recourir à un framework, qui fera le gros du boulot, même s'il est nécessaire d'en connaître la philosophie ; c'est aussi ton avis ?
    Forcément non, il existe toujours d'autres alternatives mais l'approche MVC a fait ses preuves.
    Il n'est pas juste nécessaire mais obligatoire de connaître la philosophie.
    Tu ne comprendras pas le code d'un framework si tu ne vois où ceux qui l'ont codé veulent t'amener.
    Plus généralement, tu coderas d'ailleurs plus vite et mieux en ayant bien compris le schéma directeur d'un modèle de développement que sans avoir pris le temps de le dépieuter et de te l'approprier.

    En basant le développement sur des concepts abstraits comme le MVC, la maîtrise de la théorie est vitale, sans elle et même avec une bonne pratique du langage tu passeras ton temps à tatonner au lieu de vraiment avancer dans la bonne direction.
    Et c'est tout aussi valable pour la POO.

    Il n'y a pas à tortiller, le "gomme-crayon-papier" est toujours d'actualité.

  8. #28
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut
    Bien noté, mais n'ayant jamais pratiqué ni FWK, ni POO, je voudrais déjà assimiler la POO avant de passer au FWK. Est-ce possible ? Et si oui, aurais-tu un exemple d'appli simple, donc faisable en POO sans FWK ?

  9. #29
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    je voudrais déjà assimiler la POO avant de passer au FWK. Est-ce possible ?
    Bien sûr.
    La POO est la base de tous les frameworks modernes.
    Pour maîtriser un framework, il faut d'abord maîtriser correctement la POO.
    Et ne prend pas pour objectif d'apprendre la POO avec un framework, c'est quasiment impossible dans la mesure où les frameworks utilisent les bases et les subtilités de la POO.
    Sans compter que leur documentation ne s'arrête qu'à l'implementation des aspects fonctionnels et ne fournit aucune explication sur le pourquoi du comment.
    Tous les frameworks modernes posent comme prérequis la maîtrise de la POO.

    Bref : yapuka
    Tu vas trouver pléthores de sites et de livres qui vont t'expliquer pas à pas les principes de la POO (d'ailleurs tu peux attaquer par dvp).

Discussions similaires

  1. Objet "lien vers une présentation"
    Par mederik dans le forum Cognos
    Réponses: 2
    Dernier message: 28/09/2010, 18h18
  2. [Frames] un lien vers une page de Frames vers une page sans
    Par jamesleouf dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 23/09/2005, 18h25
  3. [C#] DataGrid qui contient un lien vers une page
    Par Roach dans le forum ASP.NET
    Réponses: 6
    Dernier message: 19/08/2005, 13h54
  4. [FLASH MX] Lien vers une application
    Par mzt.insat dans le forum Flash
    Réponses: 4
    Dernier message: 15/03/2005, 19h18
  5. Lien vers une variable ?
    Par drinkmilk dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 22/02/2005, 09h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo