PEAR_ErrorStack::push()

PEAR_ErrorStack::push() -- Ajoute une erreur à la pile

Synopsis

require_once 'PEAR/ErrorStack.php';

PEAR_Error|array PEAR_ErrorStack::push (entier $code [, chaîne de caractères $level = 'error' [, array $params = array() [, chaîne de caractères $msg = FALSE [, array $repackage = FALSE [, array $backtrace = FALSE]]]]])

Alerte de compatibilité descendante

Avertissement

Depuis PEAR 1.3.2, PEAR_ErrorStack n'instancie et ne retourne plus une exception en PHP5. Le code s'appuyant sur ce comportement ne fonctionnera plus.

Description

Si le générateur de message existe, il sera appelé avec 2 paramètres.

Ensuite, si l'erreur doit contenir les informations de contexte, ce sera géré par la méthode de contexte. Finallement, l'erreur sera ajoutée sur le pile d'erreurs correspondante.

Paramètres

entier $code

Code erreur spécifique au paquet

chaîne de caractères $level

Niveau d'erreur. Il ne sera pas traduit.

array $params

tableau associatif pour les paramètres de l'erreur

chaîne de caractères $msg

Message d'erreur ou seulement une portion si le message est en cours de génération.

array $repackage

Si cette erreur rempaquète une erreur envoyée par un autre paquet, placez le tableau retourné par la fonction pop() dans ce paramètre.

array $backtrace

Paramètre protégé : utilisez ce paramètre pour passer la fonction http://www.php.net/manual-lookup.php?pattern=debug_backtrace qui devra être utilisé pour retrouver le contexte de l'erreur.

Valeur retournée

lançe, si le mode de compatibilité est actif, une PEAR_Error. Si l'exception existe, alors 1 sera retourné permettant le code suivant :
<?php
1      throw ($stack-><link linkend="core.pear.pear-errorstack.push">push</link>(MY_ERROR_CODE, 'error', array('username' => 'grob')));
?>

La propriété errorData de la classe de l'exception sera définit par le tableau qui devrait être retourné. Si un PEAR_Error est retourné, la propriété userinfo est définie par ce tableau.

Cependant, un tableau est retourné dans ce format :
<?php
array(
   'code' => $code,
   'params' => $params,
   'package' => $this->_package,
   'level' => $level,
   'time' => <ulink url="&url.php.lookup;time">time</ulink>(),
   'context' => $context,
   'message' => $msg,
//['repackage' => $err] tableau de l'erreur rempaquet&eacute;e
);
?>

Valeurs renvoyées

Aucune exception n'est lancée.

Note

Cette fonction ne peut pas être appelée de façon statique.