typed collections
v2.0.2
Это очень простой способ сделать массивы подсказками по типу!
$list = new UserCollection(new User());
ХОРОШО
$list = new UserCollection('User');
Бросаю:
VistikExceptionInvalidTypeException: Item (string) 'User' is not a VistikExampleUser object!
Запуск composer require vistik/typed-collections
Готовые коллекции для:
Их можно создать с помощью готовых помощников в стиле larival:
bCollect([true, false])
— создать BoolCollection.iCollect([1, 2, 3, 4])
— для создания IntegerCollection.fCollect([3.14, 22/7, 6.66])
— Чтобы создать FloatCollectionsCollect(['hello', 'world''])
— Чтобы создать StringCollectioneCollect(['[email protected]', '[email protected]'])
— для создания коллекции электронной почты.nCollect([1, 2, 3, 4, 3.14, INF])
— для создания NumberCollection.Посмотрите, как это просто:
use PhpsafariExampleUser;
class UserCollection extends TypedCollection{
protected $type = User::class;
}
2 простых шага
AccountCollection
расширяет TypedCollection
protected $type = 'VistikExampleUser';
с твоим классомили
Если проверка представляет собой нечто большее, чем просто проверка is_a
, вы можете перезаписать функцию: isValidItem($item)
в новом классе Collection.