Useful PHP utilities (Collections, Iterators, etc)
use Gamee\Collections\Collection\UniqueObjectCollection;
/**
* @extends UniqueObjectCollection<UserData>
*/
final class UserDataCollection extends UniqueObjectCollection
{
/**
* @param UserData $item
* @return string|int
*/
protected function getIdentifier(object $item)
{
return $item->getId();
}
}
use Gamee\Collections\Iterator\ObjectIterator;
class UserCredentialsDataIterator extends ObjectIterator
{
public function current(): UserCredentialsData
{
return parent::current();
}
}
use Gamee\Collections\Collection\ImmutableObjectCollection;
final class UserDataCollection extends ImmutableObjectCollection
{
protected function getItemType(): string
{
return UserData::class;
}
public function current(): UserData
{
return parent::current();
}
}