Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.7570
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 27.06.2016, 22:55   #1
Hector
Статус кво
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: California
Сообщений: 11,243
Бабло: $1447940
Отправить сообщение для Hector с помощью ICQ
По умолчанию MVC php

Мне тут пара разрабов делали проекты на похапэ но хоть они и брали фреймворки но все выглядело примерно так:
1. Вьюха тут понятно, шаблон с каким-то smarty, или просто пхп
2. Контроллер куда пихалась логика и запросы в базу данных. Между базой и контроллером была прослойка под pdo или mysqli.
3. А моделей нет. Объектов тоже нет.

Когда проект растет то из-за отсутствия моделей и объектов получается каша. Каждый метод контроллера берет данные в каком ему удобно виде, тут либо звездочка в mysql запросе либо именованные поля. Это порождает кучу дублей при выборке данных.

Вы скажите это нормальная практика так делать или это говнокод? Надо ли переделывать проекты в таком стиле или проще забить?
Hector вне форума  
Старый 27.06.2016, 23:10   #2
Dippa
Senior Member
 
Регистрация: 14.02.2008
Сообщений: 215
Бабло: $28630
По умолчанию

Это ненормальная практика. У такого говнокода есть название - Fat Stupid Ugly Controllers.

Если работает - забей. Если работает криво могу переделать под HMVC.
Dippa вне форума  
Старый 27.06.2016, 23:26   #3
Hector
Статус кво
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: California
Сообщений: 11,243
Бабло: $1447940
ТС -->
Отправить сообщение для Hector с помощью ICQ
автор темы ТС По умолчанию

Оно работает но проект получается раздутым больше чем нужно. Я чего спросил думал мало ли в этом кроется тайный смысл что эту схему применяют многие. В java например такой фокус не проходит.
Один разраб сказал что это большая гибкость.
Один такой контроллер например имеет 6000 строк
Hector вне форума  
Старый 27.06.2016, 23:26   #4
isoff
Senior Member
 
Регистрация: 16.09.2008
Сообщений: 617
Бабло: $138676
По умолчанию

Цитата:
Сообщение от Hector Посмотреть сообщение
2. Контроллер куда пихалась логика и запросы в базу данных.
Это дикость. Если предполагается что проект будет развиваться.
isoff вне форума  
Старый 27.06.2016, 23:50   #5
веломан
Senior Member
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 5,939
Бабло: $700665
По умолчанию

Цитата:
Сообщение от isoff Посмотреть сообщение
Это дикость. Если предполагается что проект будет развиваться.
+1
контроллер пилит только запросы: на авторизацию/AJAX/шаблонов
в принципе нет ничего сложного их по файлам раскидать - простой копи-паст + чуть допилить
а вот разбросать кучу запросов по моделям и объектам будет сложнее
нужен глубокий рефакторинг
веломан на форуме  
Старый 27.06.2016, 23:57   #6
Hector
Статус кво
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: California
Сообщений: 11,243
Бабло: $1447940
ТС -->
Отправить сообщение для Hector с помощью ICQ
автор темы ТС По умолчанию

Там рефакторить надо очень дохуя плюс во вьюхи залетают то user_id то userId. Переделывать нужно начиная с моделей.
Hector вне форума  
Старый 28.06.2016, 00:20   #7
веломан
Senior Member
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 5,939
Бабло: $700665
Smile

Цитата:
Сообщение от Hector Посмотреть сообщение
очень дохуя
ага, это синоним слова "глубокий" )

Цитата:
Переделывать нужно начиная с моделей.
как же их переделывать, если их нету?

в общем радуйся, что тебе её вообще написали
зная рынок пхп-студентов ты ещё молодец, что нашёл исполнителей, которые до конца довели
были бы они чуть поумнее, зарефакторили бы сами и набрались бы опыта
веломан на форуме  
Старый 28.06.2016, 00:35   #8
Markus
Ня?
 
Аватар для Markus
 
Регистрация: 13.12.2009
Сообщений: 38
Бабло: $9350
По умолчанию

Так делать можно только в одном случае, если вас быстродействие не устраивает.
ORM накладывают дополнительные расходы и не всегда позволяет описать качественно взаимосвязи между объектами БД. Если под траф и не ТП писали то так даже лучше.
А насчет как это все выглядит это уже другой вопрос, главное чтобы документация было сопроводительная для дальнейших доработок =)
Markus вне форума  
Старый 28.06.2016, 00:53   #9
Hector
Статус кво
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: California
Сообщений: 11,243
Бабло: $1447940
ТС -->
Отправить сообщение для Hector с помощью ICQ
автор темы ТС По умолчанию

тут не орм я имел ввиду а обычные dao с моделями
orm я терпеть не могу

Markus, какая документация там даже коментов по коду нет))))
Это я так по неопытности заказывал))
Hector вне форума  
Старый 28.06.2016, 02:23   #10
Markus
Ня?
 
Аватар для Markus
 
Регистрация: 13.12.2009
Сообщений: 38
Бабло: $9350
По умолчанию

Цитата:
Сообщение от Hector Посмотреть сообщение
тут не орм я имел ввиду а обычные dao с моделями
orm я терпеть не могу

Markus, какая документация там даже коментов по коду нет))))
Это я так по неопытности заказывал))
Ну DAO разные есть, иной раз лучше вообще них. Где идет обычный роутинг + шаблонизатор а запросы в контроллерах. Сразу видно что и откуда. Свой DAO нужен если планируется менять источники данных, а так и PDO стандартной хватит.
Это зря всегда требуй чтобы комментарии везде писали... Потому что чувак который будет это дорабатывать может не понять логику того кто писал. В итоге ошибка может вылезти уже после сдачи.
PS можно еще и тесты зафигачить)
Markus вне форума  
Закрытая тема



Опции темы
Опции просмотра