Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme mise ajour mamp php

    12 octobre 2020 à 19:36:59

    bonjour,

    depuis que j ai mis a jour mamp avec la version de php j ai ce message d'erreur qui s'affiche.

    la ligne 83 correspond a sa 

    $classe = ucfirst(readline("Quel est le nom de votre classe? ")); // on indique le nom de la classe en mettant la premiere lettre en maj

    je pense pas avoir fait d'erreur ou a moins que ??? mais le programme tournait il y a encore une heure (j ai editer lien dans variable path pourtant)

    merci d'avance pour une reponse

    • Partager sur Facebook
    • Partager sur Twitter
      13 octobre 2020 à 12:14:47

      Le message (répété) me semble clair :  ligne 75, tu fais appel à la méthode getmarque() qui  n'est pas définie.

      Cordialement.

      • Partager sur Facebook
      • Partager sur Twitter
        19 octobre 2020 à 21:32:10

        bonjour,

        c'est se que j'ai penser aussi du coup j avais reverifier le code des le debut mais en gros il donne sa 

        <?php
        class Voiture//nom de la classe
        
        {
            //attributs
            private $_marque;
            private $_type;
            private $_moteur;
            private $_annee;
        
            //constructeurs
        
            /*****************Constructeur***************** */
        
            public function __construct(array $options = [])
            {
                if (!empty($options)) // empty : renvoi vrai si le tableau est vide
                {
                    $this->hydrate($options);
                }
            }
            public function hydrate($data)
            {
                foreach ($data as $key => $value)
                {
                    $methode = "set" . ucfirst($key); //ucfirst met la 1ere lettre en majuscule
                    if (is_callable(([$this, $methode]))) // is_callable verifie que la methode existe
                    {
                        $this->$methode($value);
                    }
                }
            }
        
        
            // setters
            public function SetMarque($ma)
            {
                $this->_marque = ucfirst($ma);
        
            }
        
            public function setType($ty)
            {
        
                $this->_type = ucfirst($ty);
        
            }
        
            public function setMoteur($mo)
            {
        
                $this->_moteur = ucfirst($mo);
        
            }
            public function setAnnee($a)
            {
        
                $this->_annee = $a;
        
            }
        
            //getters
        
            public function getMarque()
            {
        
                return $this->_marque;
        
            }
        
            public function getType()
            {
        
                return $this->_type;
        
            }
        
            public function getMoteur()
            {
        
                return $this->_moteur;
        
            }
        
            public function getAnnee()
            {
        
                return $this->_annee;
        
            }
        
            //autres methodes
            public function toString()
            {
        
               return " la voiture est de marque ".$this->getMarque()." de type ".$this->getType().", son moteur utilise le carburant $this->getMoteur() et construit en ".$this->getAnnee()."\n ";
        
            }
        
            public function equalsTo(Voiture $obj)//on précise la classe Personne pour préciser le type de la variable attendue
            {
        
                return ($this->getMarque() == $obj->getMarque() && 
                $this->getType() == $obj->getType() && 
                $this->getMoteur() == $obj->getMoteur() &&
                $this->getAnnee() == $obj->getAnnee());
        
        
            }
        
            public function compareTo($obj)
            {
        
                if ($this->getMarque() > $obj->getMarque() ) 
                {
                    return 1;
        
                }
                else if($this->getMarque() < $obj->getMarque() )
                {
                 
                    return -1;
        
                }
                else
                {
                    if ($this->getType()>$obj->getType())
                    {
                        return 1;
                    }
                    else if ($this->getType()<$obj->getType())
                    {
                        return -1;
                    }
                    else
                    {   // égalité sur les personnes
                        return 0;
                    }
                }
        
            }
        
        }
        
        

        et le getMarque() est declarer a moins que j'ai commis une erreur ??

        • Partager sur Facebook
        • Partager sur Twitter

        probleme mise ajour mamp php

        × 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