Я новичок в Laravel и сейчас работаю с конвейерами. Насколько я знаю, если на одном этапе конвейера произойдет сбой, на этом этапе остановится весь конвейер. Это именно то, чего я хочу, поэтому меня это устраивает.
Но я хочу обработать данное исключение на неудачном этапе. И теперь вопрос, как? Я ничего не могу найти по этому поводу.
Поэтому мой код для конвейера выглядит так (например):
final readonly class CreateInboundPlanPipeline
{
public function __invoke(DataContainer $container, Closure $next): DataContainer
{
//Init Normalizer
$normalizer = new FBAInboundNormalizer();
//Do something with $container
$items = json_decode($container->__get('initialrequest')->input('items'));
$response = $normalizer->createInboundPlan($items, $container->__get('initialrequest'));
if($response['success']){
$extendContainer = $container;
$extendContainer->inboundplanid = $response["inboundPlanId"];
$extendContainer->currentOperationId = $response["operationId"];
}else{
throw new \Exception($response["message"]);
}
return $next($extendContainer);
}
}
public function handle(): void
{
$filledContainer = app(Pipeline::class)
->send($this->container)
->through([
CreateInboundPlanPipeline::class,
])
->then(function(){
//Action after Pipeline
//e.g. fill a model or smth
});
}
Например. если «CreateInboundPlanPipeline» выдает исключение, как я могу его перехватить и обработать?
Я нашел функцию «handleException» внутри конвейера, правильно ли это?
Как это будет выглядеть?
$filledContainer = app(Pipeline::class)
->send($this->container)
->through([
CreateInboundPlanPipeline::class,
])
->then(function(){
//Action after Pipeline
//e.g. fill a model or smth
})
->handleException(function(){
//Handle Exception here
});
Подробнее здесь: https://stackoverflow.com/questions/793 ... e-pipeline
Обработка исключений внутри конвейера ⇐ Php
Кемеровские программисты php общаются здесь
1737120080
Anonymous
Я новичок в Laravel и сейчас работаю с конвейерами. Насколько я знаю, если на одном этапе конвейера произойдет сбой, на этом этапе остановится весь конвейер. Это именно то, чего я хочу, поэтому меня это устраивает.
Но я хочу обработать данное исключение на неудачном этапе. И теперь вопрос, как? Я ничего не могу найти по этому поводу.
Поэтому мой код для конвейера выглядит так (например):
final readonly class CreateInboundPlanPipeline
{
public function __invoke(DataContainer $container, Closure $next): DataContainer
{
//Init Normalizer
$normalizer = new FBAInboundNormalizer();
//Do something with $container
$items = json_decode($container->__get('initialrequest')->input('items'));
$response = $normalizer->createInboundPlan($items, $container->__get('initialrequest'));
if($response['success']){
$extendContainer = $container;
$extendContainer->inboundplanid = $response["inboundPlanId"];
$extendContainer->currentOperationId = $response["operationId"];
}else{
throw new \Exception($response["message"]);
}
return $next($extendContainer);
}
}
public function handle(): void
{
$filledContainer = app(Pipeline::class)
->send($this->container)
->through([
CreateInboundPlanPipeline::class,
])
->then(function(){
//Action after Pipeline
//e.g. fill a model or smth
});
}
Например. если «CreateInboundPlanPipeline» выдает исключение, как я могу его перехватить и обработать?
Я нашел функцию «handleException» внутри конвейера, правильно ли это?
Как это будет выглядеть?
$filledContainer = app(Pipeline::class)
->send($this->container)
->through([
CreateInboundPlanPipeline::class,
])
->then(function(){
//Action after Pipeline
//e.g. fill a model or smth
})
->handleException(function(){
//Handle Exception here
});
Подробнее здесь: [url]https://stackoverflow.com/questions/79352411/handling-exceptions-inside-pipeline[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия