Implementation of typed collection.
composer require wearesho-team/base-collection
Create your class collection and implement type()
method.
It must return declared (existed) class name
<?php
use Wearesho\BaseCollection;
class MyCollection extends BaseCollection
{
public function type(): string
{
return stdClass::class;
}
}
And now you have typed collection!
If you try to append item that not instance of your type you will catch an InvalidArgumentException