Core
Vlastní drivery
Doručení notifikace někam, o čem tenhle balíček neví — kontrakt a kde se driver registruje.
Na této stránce
Slack, řádek v logu, vlastní websocket, testovací špeh: driver je jedno malé rozhraní a volající kód se nikdy nedozví, který odpověděl. Tenhle šev drží každou notifikaci ve frameworku doručitelnou kamkoli.
Vlastní drivery
Implementujte kontrakt NotificationDriver — jeho jediná metoda send() dostane notifikaci a (volitelně) Livewire komponentu v scope:
use NyonCode\WireCore\Notifications\Contracts\NotificationDriver;use NyonCode\WireCore\Notifications\Notification; class SlackDriver implements NotificationDriver{ public function send(Notification $notification, mixed $livewireComponent = null): void { Http::post('https://hooks.slack.com/...', [ 'text' => $notification->title . ': ' . $notification->message, ]); }}
Zaregistrujte ho jako globální výchozí v service provideru (boot()):
use NyonCode\WireCore\Notifications\NotificationManager; NotificationManager::setDefaultDriver(new SlackDriver());
Nebo ho použijte pro jednu komponentu/volání bez změny globálního výchozího:
$this->setNotificationDriver(new SlackDriver()); // pro jednotlivé komponenty (trait)NotificationManager::send($notification, new SlackDriver()); // pro jednotlivá volání
Související
- Notifikace — objekt, který driver dostane
- Toasty a Perzistentní notifikace — dva dodávané drivery
- Pluginy — registrace driveru z balíčku
- Konfigurace — pojmenování výchozího driveru