Page 1 sur 1

[résolu]MyException

Posté : 18 avr. 2007, 12:15
par dvp5
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: .

Posté : 18 avr. 2007, 13:48
par Ryle
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 ;)

Posté : 18 avr. 2007, 16:35
par Invité
merci beaucoup 8-) pour cette réponse précise

Posté : 18 avr. 2007, 16:37
par dvp5
merci beaucoup 8-) pour cette réponse précise
encore merci !!!