É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énement | Données publiques | Moment d’émission |
|---|---|---|
FeedStartingEvent | feed, target | Après la vérification préalable du stockage et du chemin, avant la résolution du convertisseur et la préparation. |
FeedFinishedEvent | feed, target, path, paths | Aprè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
| Exception | Signification |
|---|---|
InvalidFeedArgumentException | L’identifiant de flux transmis en console est invalide. |
FeedNotFoundException | Aucun enregistrement n’existe pour l’identifiant demandé. |
InvalidExpressionException | Une expression de planification est invalide. |
UnknownFeedClassException | Une classe de flux configurée ne peut pas être résolue. |
UnexpectedClassException | Une 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
| Exception | Signification |
|---|---|
InvalidCsvRowException | Une ligne CSV ne respecte pas le schéma de colonnes établi. |
InvalidCsvValueException | Un champ CSV ne peut pas être sérialisé comme valeur scalaire. |
InvalidXmlCDataException | Une valeur CDATA est invalide. |
InvalidXmlFragmentException | Un fragment XML brut est invalide. |
UnsupportedStorageDiskException | Le disque Laravel choisi ne se résout pas en FilesystemAdapter. |
OpenFeedException | Une ressource de sortie provisoire ne peut pas être ouverte. |
WriteFeedException | La sortie complète ne peut pas être écrite. |
CloseFeedException | La ressource de sortie ne peut pas être fermée. |
ResourceMetaException | Les métadonnées requises du flux ne sont pas disponibles. |
FeedGenerationException | La 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.