Page 1 sur 1

Est-ce-que ce sont des variables ?

Posté : 07 août 2006, 11:42
par pitav
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

Posté : 07 août 2006, 11:53
par icebreak
Qu'est ce qui est une variable. Tu as une classe donc des méthodes et des variables.
Peut tu être plus précis ?

Posté : 07 août 2006, 11:58
par pitav
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

Posté : 07 août 2006, 12:04
par zeus
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

Posté : 07 août 2006, 12:15
par pitav
Merci beaucoup !