Всем привет. У меня опять вопрос по правильной организации проэкта. На сколько я понял, то компонент , а именно файл компонента представляет из себя ,что то типа контроллера для фронта. Т.е. компонент может существовать и без представления и содержать только методы,которые берут данные из базы (модели) и мы выводим их на страницу с помощью «компонент.метод(переменная)».
Что тогда делатьс ajax методами?)
Вот пример,как я это сделал.
И второй вопрос - правильно это или нет?
У меня есть модель products - товары и есть компонент - index (главная страница), в котором я беру из модели нужные мне методы для главной.
Ниже скрины
За что вы так контроллеры не любите, то компилированная страница - контроллер, то компонент))
Компонент это составная часть системы выполняющая положенную часть логики.
По факту это кирпичик из которого строится функциональные части страницы. Каждый компонент должен заниматься своим делом. И логику лучше делить.
Например компонент вывода списка новостей и компонент вывода детальной Новости - это два разных компонента.
Компонент отзывов
Компонент комментариев
Компонент навигации
В концепции октября компоненты являются главной строительной составляющиеся, обработчиками ajax запросов и представляющие свою часть блоком верстки, однако блок верстки не является обязательным, так как большинство возможностей можно использовать лишь подключив компонент, но не объявляя его в представлении, так же компоненты прямо участвуют в жизненном цикле самой страницы.
В твоём случае (за объявление параметров после метода и присвоениям им данных - по рукам) в теории нормально, но по хорошему для соблюдения концепции лучше разделить на разные компоненты:
1. Топ категорий
2. Топ новостей
3. Топ продуктов
Так же можно обратится к принципу единой ответсвенности и притянуть за уши его сюда) когда компонент занимается чем то одним ), правда это грубое выражение ибо по факту компонент занимается не только представлением, но и обработкой ajax запросов, но кого это волнует при наличии Eloquent ))