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

Balík obsahuje tri enumy s reťazcovými hodnotami v RoundlyConsulting\Attributes\Enums:

EnumPrípady (hodnota)
AttributeTypeString_ (string), Integer (integer), Float_ (float), Boolean (boolean), Array_ (array), DateTime (datetime)
UniqueScopeNone (none), Owner (owner), Global_ (global)
RevisionTypeAttached (attached), Updated (updated), Detached (detached)

Každý používa trait Helpers z enums-for-laravel, takže nad rámec vlastných metód získava values(), names(), labels(), options(), toOptions(), toArray(), collect(), count(), random(), readable()/label(), vyhľadávanie prípadov (fromName(), tryFromName(), fromLabel(), tryFromLabel(), hasName(), hasValue()) a fluentné porovnávanie (is(), isNot(), isIn(), isNotIn(), whenIs*()) — praktické pre výber typu poľa, API schému či administráciu:

use RoundlyConsulting\Attributes\Enums\AttributeType;
use RoundlyConsulting\Attributes\Enums\UniqueScope;

// Value => label map for a select input
AttributeType::toOptions(); // Collection: ['string' => 'String', 'integer' => 'Integer', ...]
AttributeType::toArray();   // the same map as a plain array

// Case lookups
AttributeType::fromName('Integer');   // AttributeType::Integer
AttributeType::hasValue('datetime');  // true

// Comparators and domain methods
AttributeType::DateTime->isIn([AttributeType::DateTime, AttributeType::Integer]); // true
UniqueScope::Global_->enforces();     // true — None is the only scope that does not

Pozor na validationRule()

AttributeType má vlastnú inštančnú metódu validationRule(), ktorá vracia pravidlo Laravelu pre hodnotu daného typu (string, integer, numeric, boolean, array, date). Zámerne zakrýva statické pravidlo príslušnosti z traitu, preto si pravidlo in: v prípade potreby zostavte z hodnôt. UniqueScope a RevisionType statické validationRule() z traitu sprístupňujú bežne:

AttributeType::Integer->validationRule();      // 'integer' — the rule for a value of this type
'in:'.AttributeType::values()->implode(',');  // in:string,integer,float,boolean,array,datetime

UniqueScope::validationRule();                 // 'in:none,owner,global'

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.