chuk-shirley
8/12/2015 - 1:15 AM

value object for unique key containing multiple columns

value object for unique key containing multiple columns

<?php

class CustomerId
{
    private $name;
    private $address;

    public function __construct($name, $address)
    {
        $this->name = (string) $name;
        $this->address = (string) $address;
    }

    public function getName()
    {
        return $this->name;
    }

    public function getAddress()
    {
        return $this->address;
    }

    public function isEqual(CustomerId $customerId)
    {
        if ($this->name !== $customerId->getName())
        {
            return false;
        }

        if ($this->address !== $customerId->getAddress())
        {
            return false;
        }
    
        return true;
    }
}