slo_nik, это не совсем фигня. Человек задумался об избытке дублирования и ему надо помочь. Проблема актуальная и размножение моделей в контроллере нынче слишком популярное занятие. Если бы он знал как сформулировать вопрос правильно и грамотно, сюда бы не приходил : ) гугл бы помог
можете посмотреть в сторону DI container но моделям незачем туда попадать при нормальных условиях.
Попробуйте просто делать прослойки в виде классов ProductService; которые вы сможе вызывать в контроллере такой структурой: $this->container->get(ProductService::class); // DI реализация
или что ещё грамотнее - будете передавать в конструктор контроллера все сервисы с которыми он работает.
rinaz22, вероятнее всего вам нужен серверный язык. Копайте в сторону nodejs.
JavaScript предназначен для работы с одним клиентом, одним конкретным устройством на котором он выполняется в данный момент, и его предел это передать данные посредством запроса на сервер.
Mo1she, а потом вы говорите "ваш вопрос не касается оптимизации запросов". Еще как касается.
Угадываю, что вы в цикле генерируете инсерт запросы и тут же их выполняете. Из-за этого создается равномерная постоянная нагрузка на базу данных.
Включение другого скрипта создает такую же нагрузку и производительность падает.
Просто перепишите процесс вставки нормально и будет вам быстродействие без облачных серверов и всего такого. Аппаратные улучшения имеют смысл тогда когда программные средства оптимизации уже исчерпаны. Это не ваш случай.
slo_nik, полагаю, он интересовался правильным решением для фрагмента, чтобы применить его же для всей программы в целом. Сокрытие сложности это классная привычка, на самом деле.
slo_nik, если нет никаких требований к ответу, то да. А если результат ответа собирается разными сервисами, тяжелым тернистым путем, то контроллеру всё проверять не стоило бы.