Každé vytvorenie, úprava a prechod životného cyklu spustí udalosť, na ktorú môžete reagovať. Každá obsahuje dotknutý model vo verejnej vlastnosti $advertisement:
use Illuminate\Support\Facades\Event;
use RoundlyConsulting\Advertisements\Events\AdvertisementCreated;
use RoundlyConsulting\Advertisements\Events\AdvertisementUpdated;
use RoundlyConsulting\Advertisements\Events\AdvertisementPublished;
use RoundlyConsulting\Advertisements\Events\AdvertisementUnpublished;
use RoundlyConsulting\Advertisements\Events\AdvertisementExpired;
use RoundlyConsulting\Advertisements\Events\AdvertisementArchived;
use RoundlyConsulting\Advertisements\Events\AdvertisementDeleted;
Event::listen(AdvertisementPublished::class, function (AdvertisementPublished $event): void {
$event->advertisement; // the published Advertisement
});| Udalosť | Spúšťa ju | Obsah |
|---|---|---|
AdvertisementCreated | create() | $advertisement |
AdvertisementUpdated | update() | $advertisement |
AdvertisementPublished | publish() — hneď alebo naplánované | $advertisement |
AdvertisementUnpublished | unpublish() | $advertisement |
AdvertisementExpired | expire() — hneď alebo k budúcemu okamihu | $advertisement |
AdvertisementArchived | archive() | $advertisement |
AdvertisementDeleted | delete() — fasáda, akcia alebo model — a každá reklama, ktorú odstráni model:prune | $advertisement |
ImpressionRecorded | track()->impression() — priamo alebo vo fronte | $event (AdvertisementEvent) |
ClickRecorded | track()->click() — priamo alebo vo fronte | $event (AdvertisementEvent) |
Udalosti merania
ImpressionRecorded a ClickRecorded nesú uložený AdvertisementEvent vo verejnej vlastnosti $event — spúšťajú sa priamo, alebo pri zápise cez frontu v rámci jobu:
use Illuminate\Support\Facades\Event;
use RoundlyConsulting\Advertisements\Events\ClickRecorded;
use RoundlyConsulting\Advertisements\Events\ImpressionRecorded;
Event::listen(ClickRecorded::class, function (ClickRecorded $event): void {
$event->event; // the persisted AdvertisementEvent
$event->event->advertisement; // the clicked Advertisement
$event->event->country_code; // stamped viewer country, or null
});Všetky udalosti sú v RoundlyConsulting\Advertisements\Events. Prerezávanie (model:prune) natrvalo maže expirované reklamy jednu po druhej, takže AdvertisementDeleted sa spustí pre každú prerezanú reklamu ako pri akomkoľvek inom mazaní.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.