Aller au contenu principal

Événements et exceptions

Utilisez les événements du cycle de vie pour intégrer l’application et les types d’exception pour récupérer à la limite capable de traiter l’échec.

Événements du cycle de vie

ÉvénementDonnées publiquesMoment d’émission
FeedStartingEventfeed, targetAprès la vérification préalable du stockage et du chemin, avant la résolution du convertisseur et la préparation.
FeedFinishedEventfeed, target, path, pathsAprès la publication réussie de tous les fichiers générés.

$target contient la clé de cible pour une génération ciblée et null pour un flux ordinaire. FeedFinishedEvent::$paths contient tous les chemins publiés dans l’ordre. $path est conservé pour la compatibilité et contient toujours le premier chemin.

Échecs de saisie et de recherche

ExceptionSignification
InvalidFeedArgumentExceptionL’identifiant de flux transmis en console est invalide.
FeedNotFoundExceptionAucun enregistrement n’existe pour l’identifiant demandé.
InvalidExpressionExceptionUne expression de planification est invalide.
UnknownFeedClassExceptionUne classe de flux configurée ne peut pas être résolue.
UnexpectedClassExceptionUne classe résolue ne respecte pas le contrat attendu.

La sélection de cible utilise des exceptions SPL. Lorsque --target est fourni, feed:generate lève une InvalidArgumentException si aucun identifiant d’enregistrement de flux n’est fourni, si une clé de cible est vide ou si le flux sélectionné n’implémente pas HasFeedTargets. La commande lève une UnexpectedValueException lorsque findTarget() renvoie null.

Échecs de sérialisation et de stockage

ExceptionSignification
InvalidCsvRowExceptionUne ligne CSV ne respecte pas le schéma de colonnes établi.
InvalidCsvValueExceptionUn champ CSV ne peut pas être sérialisé comme valeur scalaire.
InvalidXmlCDataExceptionUne valeur CDATA est invalide.
InvalidXmlFragmentExceptionUn fragment XML brut est invalide.
UnsupportedStorageDiskExceptionLe disque Laravel choisi ne se résout pas en FilesystemAdapter.
OpenFeedExceptionUne ressource de sortie provisoire ne peut pas être ouverte.
WriteFeedExceptionLa sortie complète ne peut pas être écrite.
CloseFeedExceptionLa ressource de sortie ne peut pas être fermée.
ResourceMetaExceptionLes métadonnées requises du flux ne sont pas disponibles.
FeedGenerationExceptionLa génération a échoué pour une classe de flux donnée.

FeedGenerationException::getFeed() renvoie la classe du flux. getFeedTarget() renvoie la clé de cible pour une génération ciblée et null pour un flux ordinaire. L’échec d’origine reste disponible via getPrevious().

N’interceptez les exceptions que lorsque l’application peut ajouter une récupération ou un contexte utile. Laissez Laravel signaler les échecs de génération irrécupérables.

Voir aussi