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 :

passage d'une fonction à une méthode de classe [POO]


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    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 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut passage d'une fonction à une méthode de classe
    Bonjour,

    j'ai mis au point des fonctions PHP (qui fonctionnent). Mon but est maintenant de les convertir en méthodes. Ca me fait du coup une erreur.

    Code d'une méthode de test (simplification pour traiter le problème) :
    Code php : 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
    namespace classes\Ticket;
     
    class Ticket
    {
        public function __construct()
        {
     
        }
     
        public function Testpdo() {
            include(dirname(__DIR__).DIRECTORY_SEPARATOR."config".DIRECTORY_SEPARATOR."config.php");//definition of the constants
            include(DIR_ROOT."classes".DIRECTORY_SEPARATOR."MYPDO.php");//definition of the class for DB
            use classes\MYPDO\MYPDO;    //to use class MYPDO  
            $pdo=new MYPDO();   // creation of an object for DB (instantiation of MYPDO)
     
        }

    MYPDO.php :
    Code php : 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
    <?php
    // la classe de rawsrc
    declare(strict_types=1);
     
    namespace classes\MYPDO;
     
    class MYPDO
    extends \PDO
    {
        /**
         * @var \PDO
         */
        private static $pdo = null;
     
        public function __construct()
        {
            if (self::$pdo === null) {
                self::connect();
            }
            return self::$pdo;
        }
    etc
    }

    test de la méthode :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    use classes\Ticket\Ticket;
    include(dirname(__DIR__).DIRECTORY_SEPARATOR."config".DIRECTORY_SEPARATOR."config.php");
    include(DIR_ROOT."classes".DIRECTORY_SEPARATOR."Ticket.php");
    $tic=new Ticket();
     
     
    $tic->Testpdo() ;

    message d'erreur :
    Parse error: syntax error, unexpected 'use' (T_USE) in C:\wamp64\www\ticket\classes\Ticket.php on line 13

  2. #2
    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
    Salut,

    tu dois sortir le use en début de script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
     
    namespace classes\Ticket;
     
    use classes\MYPDO\MYPDO;    //to use class MYPDO
    je ne vois pas trop où tu vas atterrir...

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    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 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Merci, j'avais oublié que les use se mettent en début de script. Normal que tu ne vois pas où je veux en venir car j'ai beaucoup simplifié le code de la méthode pour me centrer sur le problème. La vraie méthode est bien plus riche !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/08/2016, 01h52
  2. Tester si un objet est une fonction ou une méthode de classe
    Par rambc dans le forum Général Python
    Réponses: 5
    Dernier message: 23/06/2009, 01h13
  3. Réponses: 10
    Dernier message: 28/08/2008, 19h15
  4. Réponses: 4
    Dernier message: 29/01/2006, 18h54
  5. [C#] Ajout d'une méthode à la classe DropDownList
    Par Scorff dans le forum ASP.NET
    Réponses: 2
    Dernier message: 30/08/2005, 15h23

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