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

    '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.
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_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

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