[résolu]MyException

Petit nouveau ! | 2 Messages

18 avr. 2007, 12:15

bonjour!

avant de poser cette question j'ai pas mal cherché des informations sur le sujet mais sans reponse.

Je travail actuellement sur une classe MyException et il y a une portion de code que je ne comprend pas
<?php
class MyException extends Exception
{// Redéfinissez l'exception ainsi le message n'est pas facultatif
public function __construct($message, $code = 0) {
// traitement personnalisé que vous voulez réaliser ...
// assurez-vous que tout a été assigné proprement
parent::__construct($message, $code);
}

// chaîne personnalisé représentant l'objet
public function __toString() {
return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
}

public function customFunction() {
echo "Une fonction personnalisée pour ce type d'exception\n";
}
}

?>
return __CLASS__ . ": [{$this->code}]: {$this->message}\n";

J’ai du mal a comprendre le principe des crochets et des accolades dans cette portion de code :roll: .
Modifié en dernier par dvp5 le 18 avr. 2007, 16:38, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

18 avr. 2007, 13:48

C'est pas super propre, mais les accolades autour d'une variable dans une chaine, permettent à php d'identifier que la variable qui se trouve à l'intérieur doit être interprété dans son ensemble, cad : $this->code (instance + méthode) et pas seulement $this (variable) comme il le ferait normalement (en considérant la flèche et le reste comme de simples caractères).

En version propre, il suffit de sortir les variables :
return __CLASS__ . ": [".$this->code."]: ".$this->message."\n"; 
quant aux crochets, c'est juste de la déco ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Invité
Invité n'ayant pas de compte PHPfrance

18 avr. 2007, 16:35

merci beaucoup 8-) pour cette réponse précise

Petit nouveau ! | 2 Messages

18 avr. 2007, 16:37

merci beaucoup 8-) pour cette réponse précise
encore merci !!!