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 :

Je comprend pas mon interface :/


Sujet :

Langage PHP

  1. #1
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 062
    Points
    6 062
    Par défaut Je comprend pas mon interface :/
    Bonjour.
    J'ai ce message suivat :
    Access type for interface method iData::getAllData() must be omitted in ...
    Et pourtant je ne vois pas ou j'aurais commis l'erreur .

    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
     
    Interface iData{
        Private Function getAllData($pReq);
        Private Function getData($pReq);
    } 
     
    Abstract Class Data Implements iData{
     ...
    }
     
    Class DataLangue extend Data{
     
      Private getAllData($pReq){
        ...
      }
     
     
      Private getData($pReq){
        ...
      }
     
    }
    A moin que j'ai mal compris le principe de l'interface je ne vois pas c'est quoi son problème
    Quelqu'un aurait il vu quelque chose que je n'aurais pas vu ?
    Merci
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  2. #2
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    salut,

    Citation Envoyé par http://fr2.php.net/manual/fr/language.oop5.interfaces.php
    Toutes les méthodes déclarées dans une interface doivent être publiques.
    peut être sa.

    bbye


    --
    correction du lien

  3. #3
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 062
    Points
    6 062
    Par défaut
    Effectivement c'étais cela. Je trouve cela nulle car au finale il me sert à rien vu que mes metthode son obligatoirement private
    Merci
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  4. #4
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 062
    Points
    6 062
    Par défaut
    Je vais déclarer ces methodes dans ma classe abstraite elle m'offrira plus de souplesse.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  5. #5
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 062
    Points
    6 062
    Par défaut
    Ben apparement même en utilisant l'abstract ça ne fonctionne pas.
    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
    CLass abstract Data{
        abstract private function getAllData($pReq);
        abstract private function getData($pReq);
    }
     
    Class Categorie extends Data{
     
      private Function getAllData($pReq){
        ...
      }
     
     
      private Function getData($pReq){
        ...
      }
    }
    Les messages d'erreur est :
    Abstract function Data::getAllData() cannot be declared private
    Si je comprend bien je ne peux pas déclarer une methode private pour une interface ni pour l'abstract. Pourquoi ? Dans mon cas ça n'a aucun sens ?
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Points : 691
    Points
    691
    Par défaut
    salut

    et oui c'est du php, il faut que les methodes soient accessibles a partir de la classe derivé meme si elle sont definie en abstract, en resumé tu a le choix entre protected et public

  7. #7
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 062
    Points
    6 062
    Par défaut
    Effectivement, j'ai pas essayé avec abstract.

    Edit après avoir essayé maintenant ça fonctionne
    Merci
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

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

Discussions similaires

  1. Whireshark ne voit pas mon interface Internet
    Par molo2003 dans le forum Windows XP
    Réponses: 1
    Dernier message: 02/04/2009, 13h19
  2. Je comprend pas mon Sprite :d
    Par Braillane dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 11/09/2008, 13h19
  3. je ne comprends pas mon message d'erreur
    Par LeNeutrino dans le forum Windows Forms
    Réponses: 8
    Dernier message: 19/01/2007, 09h44
  4. Je ne comprends pas mon erreur !
    Par oulahoup dans le forum ASP
    Réponses: 4
    Dernier message: 25/08/2005, 14h24
  5. sql ne comprend pas mon where!et me demande des parametres
    Par marie10 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 20/04/2004, 11h08

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