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 :

Utilisation de l'orientée objet avec PHP5.0 [PHP 5.0]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Par défaut Utilisation de l'orientée objet avec PHP5.0
    Bonjour tout le monde,

    Je voudrais exécuter ce script avec PHP5 en utilisant les notions de l'orientée objet (Classe, méthodes, attributs).

    Code html : 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Document sans titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
     
    <?php 
    echo "bonjour Sonia!!". "</br>";
    class Motocyclette
    {
    //attributs
    var $couleur ;
    var $cylindree ;
    var $vitesseMaximale ;
    //méthodes
    function getCouleur()
    {
    return $this->couleur;
     
    }
    function setCouleur($couleur)
    {
    $this->couleur = $couleur;
     
    }
     
    }
     
    //Déclaration d’une instance :
    $MonTacot = new Motocylette;
    //Utilisation :
    $MonTacot->setCouleur("rouge");
     
    $c=MonTacot->getCouleur();
    echo "<br><br> ** Couleur: " . $c;
     
     
    ?>
     
    </body>
    </html>

    Cependant le code ne retourne que le message "Bonjour Sonia!".

    Normalement la couleur de la motocyclette sera affichée.

    Est ce qu'il y a une bibliothèque qui devrait être incluse ou une ligne de code pour spécifier qu'on utilise le PHP5.

    Merci d'avance

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Il manque un '$' à votre objet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //$c=MonTacot->getCouleur();
    $c=$MonTacot->getCouleur();
    echo "<br><br> ** Couleur: " . $c;

  3. #3
    Membre actif
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Par défaut
    Bonjour,

    Merci pour votre réponse.
    J'ai corrigé la variable et j'ai ajouté un constructeur à la classe. Mais j'obtiens toujours une erreur.

    Code html : 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Document sans titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
     
    <?php 
    echo "bonjour Sonia!!". "</br>";
    class Motocyclette
    {
    //attributs
    var $couleur ;
    var $cylindree ;
    var $vitesseMaximale ;
     
     
    //constructeur
    function Motocyclette($couleur,$cylindree,$vitesseMaximale) {
           
    }
     
    //méthodes
    function getCouleur()
    {
    return $this->couleur;
     
    }
    function setCouleur($couleur)
    {
    $this->couleur = $couleur;
     
    }
     
    }
     
     
     
     
    //Déclaration d’une instance :
    $MonTacot = new Motocylette("bleue","cylindre","10") ;
     
     
    //Mise à jour de la couleur
    $MonTacot->setCouleur("rouge");
     
    //Afficher la nouvelle couleur
    $c=$MonTacot->getCouleur();
    echo "<br><br> ** Couleur: " . $c;
     
     
     
    ?>
     
    </body>
    </html>

    Qu'est ce qui peut être à l'origine de cette erreur?
    Merci d'avance

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    et en ligne de commande si vous faites php -v vous avez bien 5.0 ?

  5. #5
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Bonjour,

    Je vous invite à afficher les erreurs quand vous debuggez
    Vous pouvez le faire en utilisant ces 2 lignes de code en haut de votre fichier :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    ini_set('display_errors', 1);
    error_reporting(E_ALL);
    ?>

    Vous veriez alors ceci :
    Fatal error: Uncaught Error: Class "Motocylette" not found in [....]
    Vous avez fait une faute de frappe
    Votre classe s'appelle Motocyclette et vous avez écrit $MonTacot = new Motocylette;(il manque un c )

    Pensez peut-être à utiliser ce qu'on appelle un IDE, c'est à dire un logiciel dédié au dev et qui proposera une colorisation syntaxique mais également une autocompletion

  6. #6
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut
    Bonjour

    Bon, il faut forcément un péquenaud (je me dévoue cette fois) pour rappeler l'importance de suivre les versions de PHP. Sais-tu que PHP 5.0 est mort depuis... ben... on ne sait même plus le voir : https://www.php.net/supported-versions.php

    5.6 est mort (plus du tout supporté) depuis le 1er janvier 2019.

    Peut-être pourrais-tu profiter de l'occasion du remaniement du code pour le mettre à jour ?

    Bonne prog' ;-)

  7. #7
    Membre actif
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Par défaut
    Bonjour tout le monde,

    C'est résolu!

    J'ai utilisé un faut nom de la classe dans une déclaration.

    J'utilise la version php 7.4.3

    Merci de votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/07/2009, 23h18
  2. Utiliser des fonctions non objets avec Zend
    Par jux dans le forum Zend Framework
    Réponses: 6
    Dernier message: 08/02/2009, 12h58
  3. Programmation orienté objet avec vb
    Par anisj1m dans le forum VBScript
    Réponses: 10
    Dernier message: 07/05/2008, 18h19
  4. [POO] Utilisation de PHP Orienté Objet
    Par Gibou dans le forum Langage
    Réponses: 7
    Dernier message: 26/11/2006, 03h30
  5. Utilisation de is_dir sous windows avec php5
    Par SWaPPeR dans le forum Langage
    Réponses: 2
    Dernier message: 07/11/2006, 17h45

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