Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1527 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  utiliser une méthode booléenne

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

utiliser une méthode booléenne

n°1400139
El_gringo
Posté le 04-07-2006 à 12:41:28  profilanswer
 

Bonjour,  
je débute totalement en php, je tente de reproduire ce que je connais en prog objet (java), mais j'ai qqs soucis.  
Qqn pourrait il m'expliquer pourquoi un appel à la méthode "ouvrir" (voir l'extrait de la classe) débouche sur ceci :

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home.10/claustre/www/webcv/php/outils.php on line 51


extrait de la classe (la ligne 51, c'est celle comportant l'appel à hasTitre()):  


class Paragraphe {
var $titre;
  function setTitre ($titre) {
    $this->titre = $titre;
  }
 
  function hasTitre () {
    return (strlen ($this->titre) > 0);
  }
 
  function ouvrir () {
    echo "<div class=\"paragraphe\">\n";
     
    if (this->hasTitre ()) {
      echo "<h2>{$this->titre}</h2>\n";
      }
  }
   
  function fermer ($topLink = false) {
    if ($topLink) {
      $this->topLink();
    }
    echo "</div>\n";
  }
   
}


---------------
Les Vers Solitaires, on aime ... ou pas !
mood
Publicité
Posté le 04-07-2006 à 12:41:28  profilanswer
 

n°1400152
Woutcha
Posté le 04-07-2006 à 13:00:13  profilanswer
 

if ($this->hasTitre ()) {
 
 
 

n°1400205
El_gringo
Posté le 04-07-2006 à 13:51:54  profilanswer
 

J'étais sur que c'était bête comme choux ! Merci beaucoup.
Pendant que j'y suis, je m'my prend correctement pour tester si $this->titre n'a pas été renseignée ou est vide ? (ça fonctionne en tout cas)


Message édité par El_gringo le 04-07-2006 à 13:52:10

---------------
Les Vers Solitaires, on aime ... ou pas !
n°1400225
guitou12
Dev php à mi-temps :D
Posté le 04-07-2006 à 14:03:26  profilanswer
 

Moi je la verrai comme ça
 
Dans ton constructeur tu initialises $this->titre = "";
 
et tu fais ta fonction comme ceci
 

Code :
  1. function hasTitre () {
  2. if($this->titre != "" ) return false;
  3. else return true;
  4.    
  5.   }
  6. ou bien
  7. function hasTitre () {
  8. if(strlen($this->titre)>0) return true;
  9. else return false;
  10.    
  11.   }

n°1400249
El_gringo
Posté le 04-07-2006 à 14:11:40  profilanswer
 

Bon, tes "if-else" et "true-false" sont en trop.
C'est plus simple (et logique) de retourner directement le résultat de "(strlen($this->titre)>0)", comme je le fait.


---------------
Les Vers Solitaires, on aime ... ou pas !
n°1400279
guitou12
Dev php à mi-temps :D
Posté le 04-07-2006 à 14:25:26  profilanswer
 

Et dans le cas ou tu as juste un espace dans ton titre ? :D
 
Mes 2 méthodes marchent aussi certes c'est plus long à écrire mais pour ma part je trouve ça plus facile à relire ^^

n°1400365
El_gringo
Posté le 04-07-2006 à 15:37:51  profilanswer
 

chacun ses gout. Perso je trouve ma méthode tout aussi lisible.
Merci d'avoir donne ton avis en tout cas.


---------------
Les Vers Solitaires, on aime ... ou pas !
n°1400379
Woutcha
Posté le 04-07-2006 à 15:50:56  profilanswer
 

Code :
  1. function hasTitre () {
  2.    return !empty($this->titre);
  3. }

n°1400383
Sve@r
Posté le 04-07-2006 à 15:55:19  profilanswer
 

El_gringo a écrit :

Bon, tes "if-else" et "true-false" sont en trop.
C'est plus simple (et logique) de retourner directement le résultat de "(strlen($this->titre)>0)", comme je le fait.


C'est dommage de sous-traiter par une fonction "strlen" alors que php accepte les comparaisons directes sur les chaînes

Code :
  1. function hasTitre() {
  2.     return $this->titre != "";
  3. }



---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1400508
El_gringo
Posté le 04-07-2006 à 17:06:56  profilanswer
 

ça c'est vrai !
Merci.


---------------
Les Vers Solitaires, on aime ... ou pas !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  utiliser une méthode booléenne

 

Sujets relatifs
Warning suite a utilisation d'une référence dans une méthode [RESOLU]comment utiliser mos module?
Mapping d'une méthode static vers DelphiCliquez ici pour activer et utiliser ce contrôle ??????
Utiliser c# a la place de VBA[C#][ActiveX]Utiliser un ActiveX en dehors d'un Form
[RESOLU] Problème méthode GETMettre du XML dans du HTML et utiliser un XSL
Empêcher dreamweaver d'utiliser les balise <p> et <div>utiliser la touche entrer du clavier comme un clic souris[résolu]
Plus de sujets relatifs à : utiliser une méthode booléenne


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR