Konfigurácia
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
'default_type' => AddressType::Default->value,
'normalise_country' => true,
'country_resolver' => null,
'facade_alias' => 'Addresses',
];Všetky kľúče
| Kľúč | Predvolené | Env | Účel |
|---|---|---|---|
model | Address::class | — | Eloquent model, cez ktorý trait, builder, akcie a fasáda čítajú a zapisujú. Musí dediť od modelu balíka. |
key_type | bigint | ADDRESSES_KEY_TYPE | Typ 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. |
default_type | 'default' | — | Hodnota AddressType, ktorú adresa dostane, keď jej autor typ neuvedie — builder bez type(), AddressData či createAddress() bez type. Nenastavená hodnota (null alebo prázdna) znamená default; akákoľvek iná hodnota, ktorá nie je prípadom AddressType (na veľkosti písmen ani okrajových medzerách nezáleží), vyhodí pri vytváraní takej adresy InvalidAddressTypeException. |
normalise_country | true | — | 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_resolver | null | — | 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=uuiddefault_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. Hodnota sa číta až pri vytváraní takej adresy — na veľkosti písmen ani okrajových medzerách nezáleží — preto akákoľvek iná hodnota, ktorá nie je prípadom AddressType (default, billing, shipping, home, work, office), vyhodí InvalidAddressTypeException až v tej chvíli:
// config/addresses.php
'default_type' => 'billing',
// 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 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.