Laravel Nova 4’ün bu yeni özelliği, Action Callbacks, aksiyonlarınızın çalıştırılmasının ardından belirli bir kodu çalıştırmanızı sağlar. Bu sayede, aksiyonlarınız tamamlandığında kolayca raporlar oluşturabilir veya bildirimler gönderebilirsiniz.
Yukarıdaki örnekte, EmailAccountProfile
adında bir aksiyonunuz olduğunu varsayalım. Bu aksiyon, seçili kaynaklarda (ör. kullanıcılar) çalıştırıldıktan sonra, Action::then
yöntemi sayesinde belirli bir kod parçacığı çalıştırılacaktır.
Örnek olarak, aşağıdaki senaryoyu düşünelim:
- Yönetici, birden fazla kullanıcıya ait profilleri e-posta ile göndermek istiyor.
- Yönetici, bu kullanıcıları seçer ve
EmailAccountProfile
aksiyonunu çalıştırır. - Aksiyon tamamlandığında, yöneticiye bir e-posta bildirimi gönderilmesi isteniyor.
İşte bu durumda Action Callbacks devreye girer. Aşağıda bu senaryoya uygun bir örnek bulunmaktadır:
public function actions(NovaRequest $request)
{
return [
(new Actions\EmailAccountProfile)->then(function ($models) {
// Aksiyon tamamlandığında çalışacak kod parçacığı
$models->each(function ($model) {
// Burada, her bir model için ilave işlemler yapabilirsiniz. Örneğin, log kaydı eklemek.
});
// Aksiyon tamamlandığında yöneticiye bildirim gönderme işlemi
Notification::send(auth()->user(), new ActionCompletedNotification());
}),
];
}
Bu örnekte, EmailAccountProfile
aksiyonu tamamlandığında, then
metodu ile çalışacak kod parçacığı tanımlanmıştır. Bu kod parçacığı, her bir model için ilave işlemler yapabilir (örneğin, log kaydı eklemek) ve aksiyonun tamamlanması durumunda yöneticiye bir bildirim gönderebilir.
Umarım bu örnek, Action Callbacks özelliğinin işleyişini ve kullanımını daha iyi anlamanızı sağlar.