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

Fasáda Addresses

Fasáda Addresses je odporúčaný vstupný bod. Addresses::for($owner) vráti adresár vlastníka — funguje na akomkoľvek Eloquent modeli, bez traitu — a operácie s jednou adresou, ktoré nepotrebujú vlastníka, sú ploché:

use RoundlyConsulting\Addresses\DataTransferObjects\AddressData;
use RoundlyConsulting\Addresses\Enums\AddressType;
use RoundlyConsulting\Addresses\Facades\Addresses;

// One owner's address book — any Eloquent model, no trait required.
$book = Addresses::for($supplier);

$book->new()                                    // fluent PendingAddress
    ->type(AddressType::Work)
    ->in('Bratislava')->at('Somewhere 1')->postalCode('81101')->country('SK')
    ->save();
$book->add(AddressData::make(city: 'Košice', street: 'Main 2', postalCode: '04001', countryIso: 'SK'));

$book->all();                                   // Collection<Address>, oldest first
$book->primary();                               // primary across all types (or null)
$book->primary(AddressType::Billing);           // primary of a type
$book->ofType(AddressType::Office);             // collection of a type
$book->setPrimary($address);                    // promote; refuses another owner's or a deleted address

// One address — no owner scope needed.
Addresses::update($address, $data);             // full write, dispatches AddressUpdated
Addresses::delete($address);                    // soft delete, dispatches AddressDeleted
Addresses::countryName('sk');                   // resolved name, or 'SK' without a resolver

Metódy fasády

MetódaVraciaČo robí
Addresses::for(Model $addressable)AddressBookAdresár vlastníka — vytvára, pridáva, číta a povyšuje jeho adresy.
Addresses::update(Address $address, AddressData $data)AddressÚplný zápis jednej adresy; isPrimary: true ju povýši, bez neho stratí primárny príznak. Odošle AddressUpdated a pri povýšení PrimaryAddressChanged.
Addresses::delete(Address $address)voidMäkko zmaže jednu adresu; odošle AddressDeleted.
Addresses::countryName(string $iso)stringZistený názov krajiny, bez resolvera normalizovaný ISO kód.
Addresses::fake()AddressesFakeNahradí manažéra zaznamenávajúcim fake (pozrite Testovanie).

Adresár

Všetky čítania a zápisy jedného vlastníka sú na jeho AddressBook. Na modeli s HasAddresses vráti ten istý objekt aj $model->addressBook():

Metóda AddressBookVraciaČo robí
new()PendingAddressSpustí fluentný builder naviazaný na tohto vlastníka.
add(AddressData $data)AddressVytvorí adresu z DTO; odošle AddressCreated a ak ju isPrimary povýši, aj PrimaryAddressChanged.
all()Collection<int, Address>Všetky adresy vlastníka, od najstaršej.
primary(?AddressType $type = null)?AddressPrimárna adresa daného typu, alebo prvá primárna adresa ľubovoľného typu.
ofType(AddressType $type)Collection<int, Address>Všetky adresy daného typu, od najstaršej.
setPrimary(Address $address)AddressPovýši jednu z adries tohto vlastníka; pri adrese iného vlastníka vyhodí AddressOwnershipException, pri mäkko zmazanej TrashedAddressException.

Čítania sa pýtajú nakonfigurovaného modelu adresy cez whereMorphedTo('addressable', $model), takže rešpektujú vlastný model a vynechávajú mäkko zmazané záznamy.

Alias

Fasáda je predvolene zaregistrovaná ako globálny alias Addresses; premenujete alebo vypnete ju konfiguračným kľúčom facade_alias (pozrite Konfigurácia). Ak sa statickým volaniam chcete vyhnúť úplne, injektujte AddressManager alebo spustite akciu — pozrite DI a akcie.

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.