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 расширяет TypedCollectionprotected $type = 'VistikExampleUser'; с твоим классомили
Если проверка представляет собой нечто большее, чем просто проверка is_a , вы можете перезаписать функцию: isValidItem($item) в новом классе Collection.