Начну с преимуществ October CMS:
А это маркет из которого можно ставить плагины: При этом многие плагины платные. Что является довольно не привычным для опен сорс решений.
Вот так можно создать форму для админки через создание полей в файле настроек: Будет создана форма с закрытым полем id, текстовое поле для ввода заголовка, форма загрузки изображений и графический текстовый редактор для описания. Эта форма будет выглядеть вот так:
Должен согласится, что это очень быстро и круто. Также можно настроить так, чтобы в одну форму была встроена другая форма. Можно все это достаточно быстро кастомизировать.
Теперь хочу поговорить о недостатках. Как по мне, то они перечеркивают абсолютно все плюсы с головой.
1. Этот проект создан двумя программистами-энтузиастами. Которые изобрели свой красивый велосипед. Ждать частых релизов, как и мелких обновлений и фиксов не стоит.
2. Над проектом работает всего 188 контрибьюторов. Много это или мало, в масштабах всего мира, решать вам. Но мое личное мнение, что это мертвый проект.
3. Вытекает из первого и второго пункта. Это отсутствие какой-либо популярности.
4. Если вы привыкли работать на чистом фреймворке, если для вас паттерны проектирования не пустой звук. Если вы привыкли писать простой, логичный и понятный код. То Октобер вам предоставит такой набор костылей, что вы сможете прочувствовать весь этот адов трэш на своей шкуре.
Например:
1) Роуты подключаются в шаблоне страницы!!! И если у вас будут десятки сущностей, то вы должны будете прошерстить все эти страницы для того, чтобы понять, какой контроллер за что отвечает.
2) В качестве шаблонов используется Twig. Но в то же время - это не чистый и красивый шаблон, а каша из PHP кода и тегов.
3) Вы не контролируете процесс создания моделей, миграций и контроллеров именно так, как это задумали вы. Система будет думать за вас, строить свои пути и ссылки на которые и будет привязан функционал. Где-то что-то переделали немного, значит готовьтесь переделать это везде! А если хотите все сами контролировать от и до, то прочувствуйте на себе всю "силу наследования". Вам придется переопределять все и вся.
4) Из-за костылей вам нужно навсегда забыть про автокомплит в вашей IDE. А отладка кода и поиск глюков с костылями, превращается в очень интересный и долгоиграющий квест.
5) Подключение своих ассетов происходит прямо из кода, со всеми вытекающими от сюда последствиями.
6) MVC научил вас передавать данные из контроллера в шаблон, а из шаблона получать данные от пользователя назад в контроллер? Забудьте об этом. Для этого вам будет доступен свой бубен с переменными $params, $vars и другие сомнительные ништяки.
7) Вы привыкли, что ajax - это скрипт с запросом к вашему контроллеру? Что прикрутить уже готовый скрипт к новому проекту - это дело пяти минут? Забудьте об этом. Октобер научит вас тому, что аякс - это не совсем то, о чем вы думали раньше. Более того, что это даже совсем и не JS!
9) Вам предстоит узнать, что вызывать методы контроллера прямо в шаблоне - это очень даже правильная и новомодная практика.
10) А еще вы узнаете, что подключение одного шаблона внутри другого - это очень банально. Для этого вы будете подключать классы компонент, которые будут что-то выполнять и выводить в свой шаблон, который в итоге и подключится. А партиалы - это такие маленькие шаблончики, которые могут подключаться везде и повсюду, например, в качестве статического блока. Но только, как потом всю эту "хрень" отлаживать и поддерживать, вы в документации не найдете.
В качестве подведения итога хочу сказать следующее. Если вам нужна информационная страничка фирмы, маленький бложик, или что-то подобное, то очень даже неплохой вариант. Все будет быстро и красиво. Если вы на базе этого велосипеда решите строить бизнес процесс, например, какой-то сервис, или портал, или интернет магазин с разными плюшками, то лучше сразу застрелится, чем начинать это делать на Октобер ЦМС.
Лично мое мнение, что лучше писать даже маленькие проекты на чистом фреймворке, чем использовать всякие CMS велосипеды на начале проекта, а потом зайти в такой глухой угол, что все разработчики просто начнут с проекта разбегаться, а новые будут обходить такие проекты стороной, чтобы не дай бог, ни чем не заразиться.
Это мое субъективное мнение. Всем всех благ и удачных проектов. Желаю в начале много раз подумать об архитектуре проекта, а только потом уже начинать делать сам проект. И ваша жизнь тогда будет гораздо проще и счастливее. До новых встреч.
Комментарии (22):
Все эти "удобные" решения из коробки, о которых вы говорите - это зло! И доказать вам это будет невозможно, так как для того, чтобы понять это, нужно попасть в команду на крупный проект.
Я написал последнюю статью про легаси код. Там я описал, почему так происходит. И решения использовать любые CMS для крупного проекта - это значит самому себе поиметь проблемы в будущем.
Вас задело слово "глупости", извините.
@Что с чем вы сравниваете?@
Я ничего не сравниваю
@Про мой плохой код и мои плохие решения кто написал?@
Вы с чего вдруг решили рассказать что мне делать "Начните с MVC и дальше по нарастающей: SOLID, DI, DRY"
Вы решили как это почему то происходит во всех ваших дискусиях (комплекс какой-то наверно") , рассказать какой вы великий гуру " Я пишу на 3 языках и знаю с пяток фреймворков. Не хватало мне еще изучать всякую гнусность, созданную для тех, кто не может осилить язык программирования и принципы проектирования. " . На что и получили ответ, что все, что вы выкладывали, такие себе поделки и человек позиционирующих себя так как вы, явно такого не допустит"
@Вы от чего-то там фанатеете, я же нет.@
Откуда вы знаете от чего я фанатею, что так уверены что вы не фанатеете??
@И единственное к чему я в итоге пришел, так это то, что ЛЮБАЯ CMS - это зло по своей природе.@
То есть во всех 100% случаев, не зависимо от задач/бюджета/сроков , делать на фреймворке или вообще с нуля лучше, чем на цмс? Серьезно?
@И если вы не понимаете о чем я вообще говорю, то очень сильно рекомендую ознакомится с Django@
Я работал с джанго и там проблем тоже хватает.
Классно кстати с вами общаться, когда вы игнорируете вопросы, что-то выдумываете и пишите стены непонятно чего.
Вы высказали свое мнение по октобер, мне оно интересно, я вам скинул статью где мнение другое, в надежде на то, что мы будем обсуждать эти темы, зачем вы все сводите не пойми к чему...
Да возможно вы все тут создали с нуля, но это ж незначит, что сделано хорошо, так ведь?
Октобер тоже с нуля сделали, странный вы агрумент привели. Вот вы пишите что сделали "загрузка и управление изображениями" , скорей всего именно так, как выкладывали, то есть ужасная архитектура.
Выложите код этого сайта и я найду 10 недостатков( только нормальных, а не таких как вы выше написали). Писать красивые слова про паттерны и архитектуру это одно, а вот действительно их понимать и применять там где нужно это совсем другое.
@Я пишу на 3 языках и знаю с пяток фреймворков. Не хватало мне еще изучать всякую гнусность, созданную для тех, кто не может осилить язык программирования и принципы проектирования. @
Ахаха, вот просто смешно, учитывая какой ужасный код вы выкладывали.
@А ваших аргументов я не услышал вообще@ - Статью не пробовали прочитать?
P.S. Осильте уже с вашими кучами лет опыта, просто мультицитирование в коментариях, гораздо удобней будет
Ужас ссылка, вот покороче https://goo.gl/UQPdru )
Почитайте на досуге http://blog.sozonov-alexey.ru/post/159686575990/%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BE%D0%BA-%D0%B4%D0%BB%D1%8F-%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B4%D0%BE%D1%81%D1%82%D0%BE%D0%B8%D0%BD%D1%81%D1%82%D0%B2%D0%BE-%D0%B4%D0%BB%D1%8F-%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B3%D0%BE