Події та винятки
Використовуйте події життєвого циклу для інтеграції із застосунком, а типи винятків — для відновлення на межі, яка здатна обробити помилку.
Події життєвого циклу
| Подія | Публічні дані | Момент надсилання |
|---|---|---|
FeedStartingEvent | feed, target | Після попередньої перевірки сховища й шляху, до визначення конвертера та підготовки файлів. |
FeedFinishedEvent | feed, target, path, paths | Після успішної публікації всіх згенерованих файлів. |
$target містить ключ цілі для цільового генерування та null для звичайного фіду. FeedFinishedEvent::$paths містить усі опубліковані шляхи в належному порядку. $path збережено для сумісності, і він завжди містить перший шлях.
Помилки введення та пошуку
| Виняток | Значення |
|---|---|
InvalidFeedArgumentException | Ідентифікатор фіду в консолі недійсний. |
FeedNotFoundException | Реєстрації із запитаним ідентифікатором фіду не існує. |
InvalidExpressionException | Вираз розкладу недійсний. |
UnknownFeedClassException | Налаштований клас фіду неможливо визначити. |
UnexpectedClassException | Визначений клас не відповідає очікуваному контракту. |
Для вибору цілі використовуються винятки SPL. Якщо передано --target, feed:generate викидає InvalidArgumentException, коли не вказано ідентифікатор реєстрації фіду, ключ цілі порожній чи вибраний фід не реалізує HasFeedTargets. Якщо findTarget() повертає null, викидається UnexpectedValueException.
Помилки серіалізації та сховища
| Виняток | Значення |
|---|---|
InvalidCsvRowException | Рядок CSV не відповідає встановленій схемі стовпців. |
InvalidCsvValueException | Поле CSV неможливо серіалізувати як скалярне значення. |
InvalidXmlCDataException | Значення CDATA недійсне. |
InvalidXmlFragmentException | Необроблений фрагмент XML недійсний. |
UnsupportedStorageDiskException | Вибраний диск Laravel не визначається як FilesystemAdapter. |
OpenFeedException | Ресурс чернетки виведення неможливо відкрити. |
WriteFeedException | Повне виведення неможливо записати. |
CloseFeedException | Ресурс виведення неможливо закрити. |
ResourceMetaException | Потрібні метадані потоку недоступні. |
FeedGenerationException | Генерування певного класу фіду завершилося помилкою. |
FeedGenerationException::getFeed() повертає клас фіду. getFeedTarget() повертає ключ цілі для цільового генерування та null для звичайного фіду. Початкова помилка залишається доступною через getPrevious().
Перехоплюйте винятки лише там, де застосунок може додати відновлення або зрозумілий користувачу контекст. Дозвольте Laravel повідомляти про невідновні помилки генерування.