Partage
  • Partager sur Facebook
  • Partager sur Twitter

Création d'une caractéristique

Tentative infructueuse de codage en POO en php 5

    25 février 2006 à 15:35:14

    Bonjour à tous,

    Voila, je me suis lancé comme on me l'a conseillé dans la programmation orientée objet (avec bien des difficultés, je l'admets). Cela fait un ou deux jours que je patauge et j'ai donc cru bon de passer à la pratique pour voir ce que cela pouvait donner :D

    Vous vous en doutez : échec sur toute la ligne :p

    Voici le code auquel je suis arrivé :

    <?php

    class creation_perso
    // Définit une classe qui procédera à la création du personnage

    {
    //Propriétés
    public $constitution;
    public $num_min;
    public $num_max;

    //Méthodes
            public function __construct($num_min, $num_max)
            {
                    $this->contitution = $constitution;
                    $this->num_min = $num_min;
                    $this->num_max = $num_max;
                    $this->constitution = mt_rand($num_min,$num_max);
            }

    }

    //crée une instance
    $nouveau_perso = new creation_perso(0,20);
    print("$creation_perso->constitution<br />");




    ?>


    et voici l'erreur qui m'est renvoyée :

    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home.3/u/t/o/utopiaun/www/admin/essai.php on line 8


    Je ne sais pas si quelques uns parmi vous maîtrisent cet aspect du php. Si c'est le cas, je leur serais reconnaissant de me filer un petit coup de main afin de pouvoir me lancer définitivement...

    J'ai sans doute mal assimilés quelques points et peut-être même manqué certaines bases, mais là tout seul, je ne m'en sors plus :-°

    Merci d'avance !
    • Partager sur Facebook
    • Partager sur Twitter
      25 février 2006 à 15:56:52

      Es-tu sûr qu'il faille un public devant fonction _construct???
      Et le constructeur n'a pas le même nom que la classe normalement???
      • Partager sur Facebook
      • Partager sur Twitter
        25 février 2006 à 16:43:35

        En principe en php 5, le constructeur peut avoir un nom différent de la classe. De même, je ne crois pas que la propriété "public" ne soit la cause du problème ici...

        (pour info la totalité du code est présentée, donc la ligne 8 est bien celle de déclaration de la variable - même si le problème peut bien entendu se situer à un autre niveau...)

        [Edit : j'ai retiré le "public" pour essayer sans plus de succès... Merci quand même]
        • Partager sur Facebook
        • Partager sur Twitter
          25 février 2006 à 16:48:23

          je connais pas trop le fonctionement en php5 mais en php4 pour une variable on déclar:
          <?php
          ma_class{
           var $ma_var;
          }
          • Partager sur Facebook
          • Partager sur Twitter
            25 février 2006 à 17:12:53

            Oui ben c'est ce qui change :p (entre autre...) La déclaration des membres de la classe ;)

            Je ne serais pas t'en dire plus car je connais encore moins le fonctionement des classes sous php 4 ! o_O

            [Edit : mea culpa, tout est de ma faute ! L'hébergeur Ovh demande que l'on fournisse une extenssion particulière aux fichiers php 5 (mais quelle idée saugrenue :-° ) du coup ben ça marche :p ]
            • Partager sur Facebook
            • Partager sur Twitter
              25 février 2006 à 18:22:12

              Citation : NeoZer0

              je connais pas trop le fonctionement en php5 mais en php4 pour une variable on déclar:

              <?php
              ma_class{
               var $ma_var;
              }


              en php 5 tu met

              public : on pourat utiliser la variable n'import où
              protected: on peut utiliser la variable dans la classe et ses classes héritiaire
              private : on peut utiliser la variable que dans sa classe :)

              var c'est parreille que public :)
              • Partager sur Facebook
              • Partager sur Twitter

              Création d'une caractéristique

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown