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

Publikovaný config/addresses.php v plnom znení (bez komentárov):

use RoundlyConsulting\Addresses\Address;
use RoundlyConsulting\Addresses\Enums\AddressType;

return [
    'model' => Address::class,

    'key_type' => env('ADDRESSES_KEY_TYPE', 'bigint'),   // bigint | uuid | ulid

    'types' => [
        AddressType::Default->value,
        AddressType::Billing->value,
        AddressType::Shipping->value,
        AddressType::Home->value,
        AddressType::Work->value,
        AddressType::Office->value,
    ],

    'default_type' => AddressType::Default->value,

    'normalise_country' => true,

    'country_resolver' => null,

    'facade_alias' => 'Addresses',
];

Všetky kľúče

KľúčPredvolenéEnvÚčel
modelAddress::class—Eloquent model, cez ktorý trait, builder, akcie a fasáda čítajú a zapisujú. Musí dediť od modelu balíka.
key_typebigintADDRESSES_KEY_TYPETyp kľúča modelov vlastníkov — bigint, uuid alebo ulid. Určuje polymorfný stĺpec addressable; nastavte ho pred migráciou. Na veľkosti písmen ani okrajových medzerách nezáleží; akákoľvek iná hodnota pri spustení migrácie vyhodí InvalidConfigurationException.
typesšesť hodnôt AddressType—Zoznam povolených typov adries. Každý zápis typ mimo zoznamu odmietne výnimkou InvalidAddressTypeException; čítania sa nekontrolujú. Pridajte vlastné kľúče malými písmenami ('registered'), voliteľne s popiskom ('postal' => 'Postal address' alebo 'operating' => ['label' => 'Operating site']); funguje aj reťazec oddelený čiarkami. null, prázdna hodnota či [] znamená šesť vstavaných typov; chybne zapísaný zoznam vyhodí InvalidConfigurationException.
default_type'default'—Typ, ktorý adresa dostane, keď jej autor typ neuvedie — builder bez type(), AddressData či createAddress() bez type. Musí byť jedným z types, vstavaným aj vlastným (na veľkosti písmen ani okrajových medzerách nezáleží). Nenastavená hodnota (null alebo prázdna) znamená default; akákoľvek iná hodnota vyhodí pri vytváraní takej adresy InvalidAddressTypeException.
normalise_countrytrue—Pri zápise kódy krajín oreže, prevedie na veľké písmená a overí, že majú dve alebo tri písmená. false (alebo reťazec 'false', '0', 'off') ich uloží tak, ako prišli, len orezané; inCountry() ich potom porovnáva bez ohľadu na veľkosť písmen. Akákoľvek iná nebooleovská hodnota vyhodí InvalidConfigurationException.
country_resolvernull—Class-string vášho CountryResolver, naviazaný ako singleton — zisťuje názvy krajín a umožní geokódovanie. Pri nenastavenej hodnote (null alebo prázdnej) sa nenaviaže nič; akákoľvek iná hodnota musí byť triedou CountryResolver, inak jej resolvovanie vyhodí InvalidConfigurationException.
facade_alias'Addresses'—Globálny alias, pod ktorým service provider zaregistruje fasádu. Reťazec ho premenuje; null alebo zápis false (false, 0, off, no) ho vynechá — iný alias balík nedeklaruje. Prázdna hodnota sa považuje za nenastavenú a ponechá Addresses.

Prostredie (env)

Z env sa číta len typ kľúča vlastníka — ostatné kľúče sú pevné hodnoty, ktoré meníte v publikovanom súbore:

ADDRESSES_KEY_TYPE=uuid

types

types je zoznam povolených typov adries. Obsahuje šesť hodnôt AddressType, takže kým ho nenastavíte, nič sa nemení; keď ho nastavíte, je to celý zoznam — vstavaný typ, ktorý vynecháte, sa odmietne rovnako ako neznámy kľúč. Vlastné kľúče nepotrebujú migráciu, keďže stĺpec type je obyčajný reťazec. Pozrite Typy adries:

// config/addresses.php — the whole allow-list: a built-in you leave out is refused too
'types' => [
    'default',
    'billing',
    'registered' => 'Registered office',          // a type and its label
    'postal',                                     // labelled "Postal"
    'operating' => ['label' => 'Operating site'],
],

default_type

default_type je typ, ktorý adresa dostane, keď jej autor typ neuvedie — fluentný builder bez ->type(), AddressData bez type aj createAddress() bez type použijú práve ten a pri nenastavenom kľúči (chýbajúcom, null alebo prázdnom) platí AddressType::Default. Môže to byť akýkoľvek nakonfigurovaný typ, vstavaný aj vlastný. Hodnota sa číta až pri vytváraní takej adresy — na veľkosti písmen ani okrajových medzerách nezáleží — preto hodnota, ktorá nie je v types, vyhodí InvalidAddressTypeException až v tej chvíli:

// config/addresses.php
'default_type' => 'billing',   // or a custom key listed in 'types'

// an address created without a type now gets AddressType::Billing
$customer->newAddress()
    ->in('Bratislava')->at('Somewhere 1')->postalCode('81101')->country('SK')
    ->save();

facade_alias

Nastavte facade_alias na iný názov (napríklad Locations), ak chcete fasádu zaregistrovať pod týmto aliasom, alebo na null (či zápis false: false, 0, off, no), ak alias nechcete vôbec; prázdna hodnota sa považuje za nenastavenú a ponechá Addresses. Alias pochádza len z konfigurácie — composer.json balíka pre package discovery žiadny nedeklaruje — a import RoundlyConsulting\Addresses\Facades\Addresses funguje v oboch prípadoch.

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.