В общем, писал свою MVC(Чтобы понимать, как все работает, да и для практики), но она провалилась с треском(очень много говнокода). Что можно посмотреть по этому поводу? может, есть какие-нибудь опенсоурс проекты с нормальным(качественным) кодом? Или что посоветуете?
вопрос бессмыслен.
посмотришь чужое - будешь тупо копировать
если хочется экспериментировать - берешь классиков типа фаулера читаешь, с этой базой пишешь свое, но..
В общем, писал свою MVC
не надо этого делать. это никому не нужно. в т.ч. и тебе.
Вы свой MVC-фреймворк писали? Бесполезно что-либо смотреть, потому что новый проект непременно должен быть уникальным чтобы не провалиться из-за какого-то там "говнокода", а уникальные - новые - идеи берутся только из практики, так что нужен практический опыт хотя бы с одним MVC-фреймворком, например Yii2.
Вечно Голодный: в целом - да, и важно глянуть как сам реализован код, чтобы понимать все.
Я в любом случае планирую писать для себя, чтобы разобраться,но не списывать с какого - нибудь фреймп
Да и насчет уникальности - я поспорил бы. Ведь логика mvc везде одинакова практически, не учитывая дополнительные "фичи" для упрощения работы(По типу yii2 $model->save или $model->validate и т.п).
deadmemoras: Вы глубоко заблуждаетесь, MVC-фреймворк на 90% состоит из этих "дополнительных" "фич", а если в нем только реализация MVC или любого другого одного паттерна, то он вообще не является фреймворком. Еще более глубокое заблуждение - ваше категоричное стремление во всем "разобраться" и никогда не пользоваться готовыми наработками, такой подход полностью противоречит самой идее фреймворков, суть всех фреймворков до единого именно в том, чтобы "разбираться" только лишь в том, что этого требует, а остальное брать готовое и не тратить ресурсы.
Любой популярный фреймворк посмотрите и попробуйте сделать фреймворк без M и без V, оставьте только C и контейнер зависимостей. Такой фреймворк должен только парсить request и вызывать нужный метод контроллера и систему событий, чтобы можно было навешивать обработчики до вызова метода контроллера и после. Больше ничего не нужно, всё остальное можно будет внедрить через контейнер взяв компоненты из других фреймворков, а также написав свои. Получится слабосвязанный компонентный фреймворк. Назовете его loose или low framework, посвященный одному из важнейших принципов GRASP loose/low coupling :)