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 :

Comment lire cette syntaxe ?


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 34
    Points : 65
    Points
    65
    Par défaut Comment lire cette syntaxe ?
    Bonjour,

    Je reprend un code, et je bloque sur cette syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ( !$this->is_empty_status() ) || $status = 'invalid';
    Comment la lire svp ?

    Merci !

  2. #2
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    Ici c'est une manière de lancer une instruction sous condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    false || die('ok'); // va effectuer le die
    true || die('ok'); // il ne se passe rien
    A ne pas confondre avec le || de comparaison :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $toto = true || false; // true
    $toto = true || true; // true
    $toto = false || true; // true
    $toto = false || false; // false


    j'y pense, il est également possible de lancer une commande
    Zend PHP Certified Engineer, Certifié Symfony2
    blog : blog.lepine.pro
    Secrétaire de l'AFUP (Association des Utilisateurs de PHP)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 34
    Points : 65
    Points
    65
    Par défaut
    Ah je ne la connaissais pas ! Merci beaucoup Halleck !

    Donc si j'ai bien compris, ma variable $status aura pour valeur 'invalid' uniquement si la fonction is_empty_status() renvoie FALSE.

    Ceci dit je ne vois pas l'utilité par rapport à la syntaxe classique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( !$this->is_empty_status() ) $status = 'invalid';
    Même pas un petit gain de place dans le code...

  4. #4
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    Effectivement, l'intérêt peut être limité, surtout au niveau de la clarté du code.

    Ceci dit, il est fréquent de voir cette syntaxe pour des définitions de constantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    defined('TOTO') || define('TOTO', value');
    Zend PHP Certified Engineer, Certifié Symfony2
    blog : blog.lepine.pro
    Secrétaire de l'AFUP (Association des Utilisateurs de PHP)

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2010
    Messages : 88
    Points : 49
    Points
    49
    Par défaut
    Pour moi, c'est le meme || que celui de comparaison sauf qu'on utilise la faculté de php à ne pas évaluer le membre de droite d'une condition OU lorsqu'on a un false dès le membre de gauche (optimisation d'exécution)

    A mes yeux, c'est un détournement bien pratique de cette optimisation

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

Discussions similaires

  1. Comment lire cette ligne ?
    Par Mister Paul dans le forum Langage
    Réponses: 2
    Dernier message: 21/08/2010, 15h47
  2. comment lire cette méthode
    Par bandit_debutant dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 16/06/2008, 13h40
  3. [Debutant] Comment lire la taille d'un fichier binaire ?
    Par Invité dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 18/12/2003, 19h20
  4. Réponses: 2
    Dernier message: 06/12/2002, 07h50
  5. Réponses: 5
    Dernier message: 20/08/2002, 18h01

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