Мне нужно, чтобы мой метод возвращал коллекцию, но коллекция должна иметь только бъекты заданного типа, например, ProductItem
Как это можно реализовать?
Т.е. мне нужно на основе класса Illuminate\Support\Collection получить свой класс, ProductItemCollection, в который можно будет класть только объекты типа ProductItem.
Как это можно реализовать? какие есть варианты? Каким образом можно будет задавать тип для моего контейнера?
Тут стоит подумать, действительно ли Вам нужна функциональность, предоставляемая классом Illuminate\Support\Collection?
Пересмотрел описание коллекций. Перечитал документацию по коллекциям. Даже исходники посмотрел. И у меня нет простого ответа на Ваш вопрос.
Сдается мне, что с такими запросами Вам надо смотреть не на Eloquent, а в сторону Doctrine. По крайней мере, там есть документированная возможность расширения класса коллекций:
Вы можете создавать собственные классы коллекций, расширяя класс Doctrine\Common\Collections\ArrayCollection. Если семантика __construct отличается от стандартной коллекции ArrayCollection, вы можете переопределить метод createFrom
Нет, конечно же на основе Illuminate\Support\Collection сделать то, что Вам надо, возможно. Я в этом абсолютно уверен. Не уверен только в целесообразности затраты усилий на такую реализацию. Поскольку это потребует не только расширять класс Collection, но и "вписывать" его в "среду обитания". Т.е. делать поставщика услуг, который будет регистрировать новые коллекции, возможно - прописывать для них фасады и т.д.
Если же вопрос только в том, что в некоем контейнере могут быть элементы только одного класса, и особенно если этот контейнер отдаете Вы и он должен быть доступен только для чтения (чтобы лишнего, пользуясь "неразборчивостью" PHP, пользователи контейнера сами не насовали), то мне кажется стоит посмотреть в сторону более простого решения с ограничением доступа "только для чтения", реализовав в собственном классе-коллекции интерфейсы Countable и IteratorAggregate.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Интересует методика обработки групповых роутов в Laravel:
У GridView есть ActionColumn в котором рисуются значки и ссылкиМне нужно, чтобы все ссылки были обёрнуты в div с каким нибудь классом
Привет есть массив данных, который содержит объектыМассив категории