Retour d'erreurs dans une fonction

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Retour d'erreurs dans une fonction

par supercanard » 29 août 2008, 11:09

Bonjour,

La gestion des exceptions introduite dans PHP5 est là pour ça!
http://www.php.net/exceptions
et une présentation en français:
http://classes.scriptsphp.org/article.P ... exceptions
Merci pour les liens
Je regarde, pour l'instant je pige pas trop mais ça va venir ;)

par @rthur » 29 août 2008, 10:46

Bonjour,

La gestion des exceptions introduite dans PHP5 est là pour ça!
http://www.php.net/exceptions
et une présentation en français:
http://classes.scriptsphp.org/article.P ... exceptions

Retour d'erreurs dans une fonction

par supercanard » 29 août 2008, 10:41

Bonjour,

Voilà j'aurais simplement voulu savoir comment procéder pour retourner proprement des messages d'erreurs à l'utilisateur lorsque l'on ai dans une fonction.

Par exemple, je trouve cela pas terrible car l'on à des messages texte dans une fonction et que le return de la fonction renvoi une variable qui est la même pour le résultat et pour le message d'erreur.

Code : Tout sélectionner

function LireFichier ( $url ) { $fichier = $url; if ( !file_exists( $fichier ) ) { $donnees = 'La page que vous demandez n\'éxiste pas'; } else { $fichier = fopen( $url, 'r' ); $donnees = fread( $fichier, filesize( $url ) ); fclose ( $fichier ); } return $donnees; } echo LireFichier ( 'toto.html' );
Donc j'ai imaginé cette version là :
function LireFichier ( $url )
{
	$donnees = NULL;
	$erreur = NULL;
	$fichier = $url;
	if ( !file_exists( $fichier ) )
	{
		$erreur = 'La page que vous demandez n\'éxiste pas';
	}
	else
	{
		$fichier = fopen( $url, 'r' );
		$donnees = fread( $fichier, filesize( $url ) );
		fclose ( $fichier );
	}
	return array( $donnees, $erreur );
}
$result = LireFichier ( 'toto.html' );
if ( $result[1] != NULL )
{
echo 'erreur';
}
else
{
echo $result[1];
}
Je pense que c'est un peu plus propre mais j'imagine qu'il y a mieux encore ?
Quels sont vos techniques ?

Merci d'avance

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]