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 :

C'est pas un bug ça ? [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 382
    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 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut C'est pas un bug ça ?
    Bonjour,
    toujours dans la lecture du bouquin de Bersini sur l'OO, je pense avoir relever un bug dans un exemple de code donné en PHP. Je souhaiterais une confirmation (ou pas). Dans ce code, on appelle une méthode statique (Sa déclaration est static public function getHauteur() {...}) par $unFeu->getHauteur(), $unFeu étant un objet déclaré juste avant. Ca aurait pas du être plutôt FeuDeSignalisation::getHauteur() ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut
    Salut,

    Exact, le but des méthodes static et de ce passer de l'instanciation de l'objet et d'avoir des méthodes ou propriétés qui appartiennent à l'objet et non à une instance. https://www.php.net/manual/fr/language.oop5.static.php

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    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 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par kevin254kl Voir le message
    le but des méthodes static et de ce passer de l'instanciation de l'objet et d'avoir des méthodes ou propriétés qui appartiennent à l'objet et non à une instance.
    Ta langue a du fourcher : tu voulais sûrement dire "classe"...

    Dans le lien que tu donnes, ils ont l'air de dire que la syntaxe que je mentionne est quand même autorisée, non ?
    On ne peut accéder à une propriété déclarée comme statique avec l'objet instancié d'une classe (bien que ce soit possible pour une méthode statique).
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut
    Merci pour la rectification

    Bien vue je ne savais pas, je pense que ça fait référence à
    Avertissement

    En PHP 7, l'appel statique de méthodes non-statiques est déconseillé et génèrera une alerte E_DEPRECATED. La prise en charge de l'appel statique de méthodes non-statiques sera supprimé dans le futur.
    Comme tu peux le voir tu peux appeler la méthode static avec une instance d'objet, mais je ne l'ai jamais fait simplement car quel intérêt? La preuve en est que cela sera supprimé dans les version futur de php. De plus le risque est dans la lisibilité si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $obj->methodStatic();
    $obj->methodNonStatic();
    Je ne sais pas directement quel méthode est ou pas static (sauf avec l’auto complétion, commentaire ect...)

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    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 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Moi non plus, je vois pas l'intérêt de le faire et d'ailleurs, je suis étonné que ça soit autorisé...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 21/08/2009, 18h20
  2. [XL-2000] Comment fermer un fichier excel si il est ouvert mais sans bug s'il n'est pas ouvert
    Par Avinetor dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/06/2009, 14h09
  3. Détecter un bug qui n'est pas visible par tous
    Par Droïde Système7 dans le forum Débuter
    Réponses: 9
    Dernier message: 01/04/2009, 19h17
  4. Graphique n'est pas mis à jour. Bug microsoft
    Par mathieu7497 dans le forum Excel
    Réponses: 3
    Dernier message: 20/03/2008, 17h58
  5. [VB6] Bug d'une appli (ou "Impossible n'est pas français")
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 09/06/2006, 12h45

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