Est-ce-que ce sont des variables ?

Eléphanteau du PHP | 17 Messages

07 août 2006, 11:42

Bonjour à tous
Je me lance dans la POO et les lignes avec la syntaxe suivantes m'interpellent :

$this->message ("Désolé, connexion au serveur $serveur impossible\n");

Code : Tout sélectionner

class BD { var $connexion, $erreurRencontree=0; function BD ($login, $motDePasse, $base, $serveur){ $this->connexion = @mysql_pconnect ($serveur, $login, $motDePasse); if (!$this->connexion) $this->message ("Désolé, connexion au serveur $serveur impossible\n"); if (!@mysql_select_db ($base, $this->connexion)){ $this->message("Désolé, accès à la base $base impossible\n"); $this->message("<b>MySQL proteste </b>" . mysql_error($this->connexion)); $this->erreurRencontree=1;} } // Méthode pour affichage des messages function Message ($message) { echo "<b>Erreur.</b> $message<br>"; } function ExecRequete ($requete){ $resultat = mysql_query ($requete, $this->connexion); if (!resultat){ $this->message ("problème dans l'exécution de la requête : $requete"); $this->message ("<b>MySQL proteste : </b>" . mysql_error($this->conexion)); $this->erreurRencontree=1;} return $resultat; }$resultat; }
Est-ce-que ce sont des variables, car je croyais que pour les déclarer il fallait utiliser le signe = ?

Merci

Eléphant du PHP | 124 Messages

07 août 2006, 11:53

Qu'est ce qui est une variable. Tu as une classe donc des méthodes et des variables.
Peut tu être plus précis ?

Eléphanteau du PHP | 17 Messages

07 août 2006, 11:58

Cette ligne est-elle une variable ? :

$this->message ("Désolé, connexion au serveur $serveur impossible\n");

Si oui, pourquoi on ne l'écrit pas :

$this->message = "Désolé, connexion au serveur $serveur impossible\n";

merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

07 août 2006, 12:04

Non, la ligne dont tu parles est l'appel d'une méthode qui s'appelle message.

Une méthode, c'est une fonction dans une classe.

Quand tu écrit
$this->message ("Désolé, connexion au serveur $serveur impossible\n"); 
tu dit au serveur d'exécuter la fonction "message" qui se trouve dans la même classe que la fonction dans laquelle tu te trouve et que tu lui donne une chaine de caractère en parametre.

Cette ecriture est l'équivalent en objet de
message ("Désolé, connexion au serveur $serveur impossible\n"); 

function message($text)
{
  echo "Text : ".$text;
}
en procédural
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 17 Messages

07 août 2006, 12:15

Merci beaucoup !