Фреймворк, макро-Фреймворк для разработки портала?
Всем привет
Набрался опыта (хоть и небольшого) в программировании на PHP. Теперь хочется написать полноценный сайт и отправить его покорять просторы Интернета, но столкнулся со следующей проблемой.
В первых своих предыдущих "проектах" использовал концепцию "главная страница - index.php, блог - blog.php, контакты - contacts.php" и соединял их ссылками href="blog.php" и т.д.
Далее для удобства и чпу для себя открыл Америку и делал все через case/switch и реквайрил те или иные страницы, в зависимости от юрл-ла, но как была говно-концепция, так ею и осталась.
В новом проекте хочется делать все по максимуму правильно (насколько это возможно) и придерживаться хотя бы концепции MVC. На гитхабе нашёл макро-Фреймворк Mini, в котором и реализована та mvc модель, и вроде как все в ней понятно. Но мучают сомнения, а может быть все таки делать на фреймворке а-ля ларавель или yii, но знаний по ним полный ноль.
Исходя из этого, прошу дать совет, как поступать: делать на основе макро-фреймворка или же потратить пару месяцев и изучить Фреймворк какой-нибудь?
Проект чисто для меня, говнокод никто видеть не будет и уйдёт со мной в могилу.
По сути мне нужна только mvc заготовка, авторизацию и прочие вещи буду писать сам.
Да по хорошему нужно делать на микрофреймворке. Самый популярный из них slim. Весь остальной необходимый функционал собирают из библиотек. Но желательно иметь представление о многоуровневой архитектуре иначе будет спагетти-код. Без опыта да, лучше выбрать yii или laravel. Поскольку документация ответит на все ваши вопросы от старта и до релиза сайта. Но поскольку документация описывает RAD (rapid application development) будьте готовы, что на выходе получится спагетти-код. Но на микрофреймворке без опыта будет еще хуже.
Выбирайте любой. Разницы особой нет. У yii сильное русскоязычное сообщество. Разработчики и сообщество иногда делятся информацией о том как строить многоуровневую архитектуру. Получите опыт и придет осознанное понимание что достаточно микрофреймворка.
Laravel это пока лучшее, что я видел во фреймворках "для новичков". Да, придётся неделю-две поразбираться, что и как, но куча видео, статей и мануалов. Симфони не советую, так как он, на мой взгляд, сложнее.
делать на основе макро-фреймворка или же потратить пару месяцев и изучить Фреймворк какой-нибудь?
При наличии понимания базовых вещей ООП и понимании основного механизма MVC пару месяцев на фреймворк это много. Как тут уже написали - есть тот же ларавель, он не гениально построен, учит немного неклассическому подходу к коду и моделям, но для новичка с задачей быстро войти в тему и написать что-то свое -вполне гуд. Когда почувствуете что выросли из него - перейдете на что-то посрьезней, Йу /Симфони/Зенд.
В любом случае - писать свои костыли не есть гуд, задач интересных и сложных на большом проекте и так обычно много, нужно максимально использовать готовую кодовую базу, которую разрабатывали вполне толковые прогеры в течение достаточно длительного времени.
Антон, Максим Федоров ,когда я последний раз работал с ним, то в моделях была реально свалка, и модель и коллекции данной модели - все в одном объекте. Там же пагинация(wtf?). Человеку привыкшему получать коллекции как объект класса Коллекция как бы слегка некомфортно(очень мягко говоря).
И фасады... везде, везде с*ка фасады... Для новичка это все выглядит как магия и статика. Многие внутрь не лезут, но потом пытаются построить что-то свое, и делают СТАТИКУ. Были случаи, разгребал за умельцами. Кстати, местами там реально статика, и что-то поменять в базовых вещах сложно, бо прибито ржавыми кривыми гвоздями.
PS: роутинг тоже ... своеобразный, но это уже чисто вкусовщина.
Попробуй почитать руководство фреймворка Yii2 https://www.yiiframework.com/doc/guide/2.0/ru вплоть до и включая раздел "ОБРАБОТКА ЗАПРОСОВ". В своё время мне это помогло гораздо больше чем куча статей и попыток слепить свой mvc.