Decouple code with events:
Create Event
class OrderPlaced
{
public function __construct(public Order $order) {}
}Create Listener
class SendOrderConfirmation
{
public function handle(OrderPlaced $event)
{
Mail::to($event->order->user)->send(new OrderConfirmationMail($event->order));
}
}Dispatch Event
OrderPlaced::dispatch($order);
event(new OrderPlaced($order));Register in EventServiceProvider
protected $listen = [
OrderPlaced::class => [
SendOrderConfirmation::class,
UpdateInventory::class,
],
];