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 :

[POO] quelques questions


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 4
    Points : 4
    Points
    4
    Par défaut [POO] quelques questions
    Voila j'ai un problème en créant une classe en PHP,
    (moteur php : version 5), j'hérite de la classe pour générer du pdf fpdf (version 1.6) voici le code de ma classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    require("../fpdf.php");
     
    class courrier_commission extends FPDF
    {
     
      var $civilite;
      var $nom_dest;
      var $prenom_dest;
      var $adresse_dest;
      var $adresse_complementaire_dest;
      var $cp_dest;
      var $ville_dest;
      var $commission;
      var $date_commission;
      var $sujet;
      var $adresse_site;
     
      function courrier_commission()
      {
     
      }
    }
    la définition de la classe ne se limite pas qu'a cela, mais lorsque que j'inclus le script qui contient que ce code (par un require) mon script n'exécute rien, et je n'arrive pas a voir d'où peut provenir le problème, voici les questions que je me pose:
    Ai-je un problème dans mon code?
    Y-a-t-il une configuration à réaliser sur le moteur php,Faut-il indiquer au moteur php qu'il doit rendre compatible les classes php4?

    Autres Questions :
    Peut-on créer une classe php5 qui dérive d'une classe php4?
    Quelle est la visibilité des attributs et des méthodes en php4? (existe-t-elle?) (comment se gère-t-elle?)

    Merci d'avance pour vos réponses.
    Frotte moi et ton voeux s'exaucera

  2. #2
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Bonjour,

    Citation Envoyé par P'tit Génie Voir le message
    la définition de la classe ne se limite pas qu'a cela, mais lorsque que j'inclus le script qui contient que ce code (par un require) mon script n'exécute rien, et je n'arrive pas a voir d'où peut provenir le problème, voici les questions que je me pose:
    Ai-je un problème dans mon code?
    Y-a-t-il une configuration à réaliser sur le moteur php,Faut-il indiquer au moteur php qu'il doit rendre compatible les classes php4?

    Autres Questions :
    Peut-on créer une classe php5 qui dérive d'une classe php4?
    Quelle est la visibilité des attributs et des méthodes en php4? (existe-t-elle?) (comment se gère-t-elle?)

    Merci d'avance pour vos réponses.
    Tu as aucune config à faire normalement, il reconnait les classes php4 aussi bien que php5
    Pour ce qui est de créer une classe php5 qui extends une php4, j'en sais rien, beaucoup de choses ont changées depuis
    La visibilité en php4 ... hé ben ça existe pas :/

    Sinon, si tu fais que l'inclure, sans rien appeler, il marchera pas, c'est normal :/
    LoveAngel :: Meow( );
    Personne ne remarque ce qui marche trop bien. Procrastination, Terry Pratchett

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    La visibilité en php4 ... hé ben ça existe pas :/
    quelle est la visiblite alors ? (publique ou protege?)
    Frotte moi et ton voeux s'exaucera

  4. #4
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Il me semble que "var" est équivalent au plus récent "public".

    Lorsque tu effectues l'inclusion, il n'y a rien à éxécuter puisqu'il ne s'agit que d'une déclaration de classe que tu dois ensuite instancier pour l'utiliser.

    Et si je peux donner mon avis, je conseille l'excellente librairie TCPDF qui étend FPDF en lui ajoutant pas mal de fonctionnalités appréciables.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  5. #5
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Citation Envoyé par P'tit Génie Voir le message
    quelle est la visiblite alors ? (publique ou protege?)
    Désolé, mais c'est une question bête ( pour ce qui est de PHP ) :/ Si y'a pas de visibilité, tout est obligatoirement public, sinon, on ne pourrais pas utiliser les classes en dehors de la classe ... on ne pourrais pas appeler le constructeur si il étais en protected :/
    C'pas comme en Java, ou tu as un point d'entrée directement dans une fonction d'une classe.

    Il me semble que "var" est équivalent au plus récent "public".
    Le mot clef 'var' sert juste à définir les variables, ça à rien à voir avec la visibilité :/
    LoveAngel :: Meow( );
    Personne ne remarque ce qui marche trop bien. Procrastination, Terry Pratchett

  6. #6
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Puisque tu sais que tu es en PHP5, utilises-le :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    require("../fpdf.php");
     
    class courrier_commission extends FPDF
    {
     
      public $civilite;
      public $nom_dest;
      public $prenom_dest;
      public $adresse_dest;
      public $adresse_complementaire_dest;
      public $cp_dest;
      public $ville_dest;
      public $commission;
      public $date_commission;
      public $sujet;
      public $adresse_site;
     
      public function __construct()
      {
     
      }
    }
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  7. #7
    Candidat au Club
    Inscrit en
    Janvier 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Il est bien évident que j'instancie un objet de ma classe courrier_commission
    $pdf=new courrier_commission();
    Apres l'inclusion du script qui contient la classe, j'ai du code qui va mettre à jour une BDD, si je met l'inclusion de mon script qui contient la classe en commentaire, ce code est bien executé, et une fois que j'inclue ma classe ce code d'enregistrement dans ma bdd n'est plus executé, j'en conclut donc que cela vient de mon script qui contient ma classe.

    LoveAngel, je me suis posé plusieurs quelques questions sur la visibilité suite à ce topic.
    http://www.developpez.net/forums/d63...comprehension/

    jml94, tu me conseilles de passer en php5 mais peut-on créer une classe php5 qui dérive d'une classe php4?
    et merci pour tcpdf ,je vais regarder .

    Il me reste des interrogations sur les constructeurs en php4
    La définition d'un constructeur est-elle obligatoire pour une classe de base?
    pour une classe dérivée?
    si on définit un constructeur pour la classe dérivée, le constructeur de la classe de base est-il appelé implicitement?

    Même questions en php5?
    Frotte moi et ton voeux s'exaucera

  8. #8
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Citation Envoyé par P'tit Génie Voir le message
    jml94, tu me conseilles de passer en php5 mais peut-on créer une classe php5 qui dérive d'une classe php4?
    Oui, il y a normalement compatibilité descendante.
    Pour l'avoir testé, FPDF est compatible php5.

    et merci pour tcpdf ,je vais regarder .
    Tu vas voir, c'est top !

    Il me reste des interrogations sur les constructeurs en php4
    La définition d'un constructeur est-elle obligatoire pour une classe de base?
    pour une classe dérivée?
    si on définit un constructeur pour la classe dérivée, le constructeur de la classe de base est-il appelé implicitement?

    Même questions en php5?
    En 4 ou 5, la définition des constructeurs n'est pas obligatoire.
    Et je ne crois pas que l'appel à parent::__construct soit implicite, à vérifier...
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  9. #9
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Citation Envoyé par P'tit Génie Voir le message
    Il est bien évident que j'instancie un objet de ma classe courrier_commission
    $pdf=new courrier_commission();
    Apres l'inclusion du script qui contient la classe, j'ai du code qui va mettre à jour une BDD, si je met l'inclusion de mon script qui contient la classe en commentaire, ce code est bien executé, et une fois que j'inclue ma classe ce code d'enregistrement dans ma bdd n'est plus executé, j'en conclut donc que cela vient de mon script qui contient ma classe.
    Ce genre de comportement peut tout simplement venir dun caractère } manquant en fin de classe. Tu as vérifié ?
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

Discussions similaires

  1. [Débutant] Quelques question exercice prog POO
    Par Seb2913 dans le forum C#
    Réponses: 2
    Dernier message: 27/03/2015, 23h04
  2. [Templates] Quelques questions POO/Template
    Par iwf-fr dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 27/04/2007, 16h04
  3. [install]Install sous windows... quelques questions
    Par omega dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 26/02/2004, 09h50
  4. [MFC] Quelques questions de débutant...
    Par Sephi dans le forum MFC
    Réponses: 4
    Dernier message: 20/02/2004, 17h25
  5. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23

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