Files
wiosna-dev_common-library/docs/Value-Objects.md

2.3 KiB
Raw Blame History

Meritoo Common Library

Common and useful classes, methods, exceptions etc.

Value Objects

Located in Meritoo\Common\ValueObject namespace and in src/ValueObject/ directory.

Address

Namespace

Meritoo\Common\ValueObject\Address

Info

Represents address of company, institution, user etc. Contains properties:

  1. $street - the street
  2. $buildingNumber - the number of building
  3. $flatNumber - the number of flat
  4. $zipCode - the zip code
  5. $city - the city, location
New instance

New instance can be created using constructor

new Address('New York', '00123', '4th Avenue', '10', '200');
Methods

Has getters for each property, e.g. getFlatNumber() or getZipCode(), and 1 extra method:

getFullStreet()

that returns name of street with related numbers (building & flat number).

Example:

$address = new Address('New York', '00123', '4th Avenue', '10', '200');
$fullStreet = $address->getFullStreet(); // "4th Avenue 10/200"
Conversion to string (the __toString() method)

Instance of Address may be represented as string that contains all non-empty properties separated by , .

Example:

$address = new Address('New York', '00123', '4th Avenue', '10', '200');
$asString = (string)$address; // "4th Avenue 10/200, 00123, New York"

Version

Namespace

Meritoo\Common\ValueObject\Version

Info

Represents version of software. Contains properties:

  1. $majorPart - the "major" part of version
  2. $minorPart - the "minor" part of version
  3. $patchPart - the "patch" part of version
New instance

New instance can be created using:

  1. Constructor:

    new Version(1, 0, 2);
    
  2. Static methods:

    1. fromArray() - creates new instance using given version as array
    Version::fromArray([1, 0, 2]);
    
    1. fromString() - creates new instance using given version as string:
    Version::fromString('1.0.2');
    

More

  1. Base test case (with common methods and data providers)
  2. Collection of elements
  3. Exceptions
  4. Static methods
    1. Arrays
    2. Regex
  5. Value Objects

Back to Readme