district09/php_package_dg-flanders-basicregisters

View on GitHub
src/Value/Address/Addresses.php

Summary

Maintainability
A
1 hr
Test Coverage
A
100%
<?php

declare(strict_types=1);

namespace DigipolisGent\Flanders\BasicRegisters\Value\Address;

use DigipolisGent\Value\CollectionAbstract;

/**
 * Collection of addresses
 */
final class Addresses extends CollectionAbstract
{
    /**
     * Create a new collection.
     *
     * @param \DigipolisGent\Flanders\BasicRegisters\Value\Address\Address ...$addresses
     *   One or more addresses.
     */
    public function __construct(Address ...$addresses)
    {
        $this->values = $addresses;
    }

    /**
     * @inheritDoc
     */
    public function __toString(): string
    {
        $addresses = [];

        /** @var \DigipolisGent\Flanders\BasicRegisters\Value\Address\Address $address */
        foreach ($this->values as $address) {
            $addresses[] = (string) $address;
        }

        return implode('; ', $addresses);
    }
}