NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Advertisements for Laravel

Fasáda Advertisements

Odporúčaným vstupným bodom je RoundlyConsulting\Advertisements\Facades\Advertisements. Jej koreňom je RoundlyConsulting\Advertisements\AdvertisementManager, ktorý pre každú operáciu získa akciu z kontajnera — vaša vlastná väzba akcie sa preto uplatní aj vo fasáde. Prechody životného cyklu sú priame metódy:

use RoundlyConsulting\Advertisements\DataTransferObjects\AdvertisementData;
use RoundlyConsulting\Advertisements\Facades\Advertisements;
use RoundlyConsulting\Money\Money;

$ad = Advertisements::create(new AdvertisementData(
    name: 'Vintage road bike',
    price: Money::ofMajor('250.00', 'EUR'),
    category: 'bikes',
    author: $user,                  // any Eloquent model (polymorphic author)
));

Advertisements::publish($ad);                  // live now → AdvertisementPublished
Advertisements::publish($ad, now()->addWeek()); // scheduled → AdvertisementPublished
Advertisements::unpublish($ad);                // back to draft → AdvertisementUnpublished
Advertisements::expire($ad);                   // → AdvertisementExpired
Advertisements::archive($ad);                  // → AdvertisementArchived
Advertisements::delete($ad);                   // soft delete → AdvertisementDeleted

Aj servírovanie je priame; všetko o jednej reklame — jej umiestnenia a meranie — nájdete pod handlom for($ad):

// Serving
Advertisements::in('sidebar')->get();                 // active ads in a placement
Advertisements::targetedIn('sidebar', request())->get(); // … that target the viewer
Advertisements::random('sidebar');                    // ?Advertisement
echo Advertisements::render($ad, 'sidebar');          // the creative, or the text ad

// One ad's scoped API
Advertisements::for($ad)->placements()->sync(['sidebar', 'header']);
Advertisements::for($ad)->runsIn('sidebar');          // true
Advertisements::for($ad)->track('sidebar')->impression();

Všetky metódy

MetódaVraciaČo robí
create($data)AdvertisementVytvorí reklamu z AdvertisementData.
update($ad, $data)AdvertisementPrepíše reklamu podľa AdvertisementData.
publish($ad, ?$at = null)AdvertisementZverejní hneď alebo naplánuje na budúci okamih.
unpublish($ad)AdvertisementVráti do konceptu; vymaže published_at.
expire($ad, ?$at = null)AdvertisementUkončí platnosť hneď alebo nastaví budúcu expiráciu.
archive($ad)AdvertisementArchivuje bez zmazania.
delete($ad)boolSoft delete.
query()BuilderNový builder pre nakonfigurovaný model.
active()Builderquery()->active().
in($placement)BuilderAktívne reklamy v umiestnení (model, id alebo slug).
targetedIn($placement, $viewer = null)BuilderAktívne reklamy v umiestnení, ktoré zodpovedajú polohe diváka.
random($placement = null)?AdvertisementJedna náhodná aktívna reklama, voliteľne pre umiestnenie.
render($ad, $placement, $attributes = [])HtmlStringKreatíva pre umiestnenie, alebo textová reklama.
for($ad)AdvertisementHandleAPI jednej reklamy — umiestnenia a meranie.
for($ad)->placements()->attach / detach / sync($placements)AdvertisementPridá, odoberie alebo nahradí umiestnenia; reklama sa vráti s nanovo načítanými umiestneniami.
for($ad)->runsIn($placement)boolČi je reklama priradená k umiestneniu.
for($ad)->track(?$placement)->impression(?$data) / ->click(?$data)?AdvertisementEventZaznamená zobrazenie alebo klik živej reklamy; pri zápise cez frontu null.
fake()AdvertisementsFakePre testy zapne zaznamenávajúci fake.
  • for($ad)->track() odmietne reklamu, ktorá práve nie je živá — koncept, naplánovanú, expirovanú či archivovanú — výnimkou AdvertisementNotActive a track($placement) odmietne umiestnenie, v ktorom reklama nebeží, výnimkou AdvertisementNotInPlacement. track() bez umiestnenia zaznamená meranie bez neho.
  • Zápis vracia uložený AdvertisementEvent, alebo null, keď ho tracking.buffered pošle do fronty.
  • render() ide cez naviazaný CreativeRenderer — responzívny <img>, ak existuje obrázková kreatíva, inak textovú reklamu.
  • Metódy modelu — $ad->publish(), unpublish(), expire(), archive(), delete() a renderCreative() — sú len skratky nad tým istým manažérom, takže spúšťajú rovnaké udalosti a Advertisements::fake() ich zaznamená.

Alias fasády sa registruje globálne, pokiaľ register_facade_alias nie je false; samotná trieda fasády funguje vždy.

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 kryptomien

Odoslaní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.