GitHub

php-datatypes

php-datatypes

DDD-bouwstenen voor PHP: één geteste Trait per attribuut, plus onveranderlijke Value Objects voor Str/int/float, Slug, Url, EmailAddress, Money en datetime. Framework-vrij, geen afhankelijkheid van derden.

PHP-datatypen

PHP Datatypes bouwt uw waardeobjecten, entiteiten en aggregaties op basis van vooraf gedefinieerde, geteste traits - één per attribuut - waardoor de klassedefinitie vrij blijft voor de bedrijfslogica die erbij hoort.

Getters retourneren, waar mogelijk, waardeobjecten in plaats van primitieve gegevenstypen, waardoor een waarde zijn eigen validatie en normalisatie bevat in plaats van dat elke aanroeper deze moet onthouden. Er is geen afhankelijkheid van derden buiten PHP zelf, dus deze waarden werken zonder framework, HTTP-verzoek of template-engine.

  • AbstractValueObject - de basis die een Waardeobject, Entiteit of Aggregaat uitbreidt, waardoor het kan worden opgebouwd vanuit een array, volledig kan worden geserialiseerd en toArray() bruikbaar is.
  • Entiteitskenmerken - één kenmerk per attribuut ( HasPositiveIntegerIDTrait , HasActiveTrait , HasNameTrait , ...), elk met de type-hints en normalisatie voor dat attribuut.
  • Scalaire gegevenstypen - onveranderlijke wrappers Str gehele getallen en drijvende-kommagetallen, met een vloeiende API die bij elke bewerking een nieuwe instantie retourneert in plaats van de waarde ter plaatse te wijzigen.
  • Webdatatypen - Slug , Url en EmailAddress , die elk zichzelf valideren en normaliseren.
  • Datum- en tijdgegevenstypen - datum- en tijdwaarden, zonder een datum- en tijdbibliotheek te hoeven gebruiken.
  • Uitzonderingsvocabulaire - een getypte uitzondering per gegevenstype onder Exceptions\Datatypes\* , zodat een afgewezen waarde aangeeft wat er is afgewezen en waarom.

Domein

Dit pakket bevat gegevenstypen: waarden die zichzelf valideren en normaliseren, en die elke PHP-applicatie kan gebruiken zonder framework, HTTP-verzoek of template-engine. De regel " Geen afhankelijkheid van derden " is zowel een scope-regel als een afhankelijkheidsregel.

Gedrag dat documenten weergeeft, parseert of een webpagina serveert, is geen gegevenstype en valt onder hradigital/php-markup . php-markup is afhankelijk van dit pakket - nooit andersom.

Project bezoeken