ixon
@ixon


Существует ли какой-нибудь ресурс, ознакамливающий с понятиями и структурой cms?

При изучении различных статей на тему того как же правильно делать cms, сложилось достаточно обрывочное понимание этого процесса. Есть, вот, роутеры, шаблонизаторы, есть контроллеры. Обычно в различных статьях эти понятия если и описываются, то очень атомарно, а в деталях каждый из инструментов нигде и не разбирается. Более того, никто не говорит о некой лучшей практике использования всего этого или же, хотя бы, не приводит примеров того как все это реализовано в крупных коммерческих решениях, ну или хотя бы какой-нибудь классификации различных подходов.
Как разобраться? Есть ли ресурсы или сообщество людей, которые кроме всего прочего пишут cms и описывают некоторые концепции?
  • Вопрос задан
  • 350 просмотров
Пригласить эксперта
Ответы на вопрос 5
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Роутеры, шаблонизаторы и контроллеры относятся не к CMS, а в целом к проектированию ПО. Причём к более низкому уровню абстракции. Собственно разработка CMS принципиально не отличается от разработки чего-либо другого, какого-то особого сакрального знания именно для этой области просто нет. Ну, а умение проектировать приходит через чтение соответствующих книг и годы практики.
Ответ написан
@Yurchello
Я не могу утверждать, правильно ли я делал, но я могу сказать, как у меня это получилось.

Есть анекдот. Идёт, значит, человек. Видит развилку и табличка - "Направо пойдёшь - п@езды получиш! Налево пойдёш - п@езды получиш!" Мужик давай разварачиватся топать назад, а там глядь - табличка "Назад пойдёшь - п@езды получиш!". Мужик остановился и начал думать что же делать. И тут такой голос сверху - "ДУМАЙ БЫСТРЕЕ! А ТО П@ЕЗДЫ ПОЛУЧИШЬ!"

В общем, главное правило, которое должно убрать все тревоги и различные раздумья на тему - куда же идти, звучит так - НУЖНО РЕШАТЬ ПРОБЛЕМЫ ПО МЕРЕ ИХ ПОСТУПЛЕНИЯ. Всё. Это главное.

Хочеш создать СМS? Ну создай лишь бы абы как. Как хочеш - голышом, на фремворках, разбери по кусочкам вордпресс - как тебе удобно, как тебе быстрее. Просто сделай.

Зачем ты хочеш создать CMS ? Мне пришлось создавать её, т.к. в 2008м году бушевало SЕО. Народ словил волну, мол кто выскакивает на поиске, тот сразу озолачивается. У меня было 10 (!!) знакомых сеошников в Москве. Все они хотели шлёп шлёп и готово, при этом каждый из них хотел иметь возможность ЛЮБЫХ изменений ядра движка, при этом оони хотели чтобы двигло обновлялся. В те суровые времена джумла и вордпресс не переживали обновлений. Приходилось сайт заново делать. Сами движки были невероятно дырявыми, невероятно тормознутыми. Я потыркался помыркался и пришлось делать двигло самому. Сначала было по-простецки - в админке не было никакого аякса в помине. Примитивнейшее дерево. Примитивные свойства у страниц, главное что бы сеошников всё устроило.

Потом меня начали мучать натяжками индивидуальных дизайнов. А вёрстка в те года была тяжёлая изза IE6. Я заколупался верстать руками и запрограммировал дизайнсистему - любой дизайнер мог залить через админку картинки, двигло эти картинки сам кромсал, сам генерил CSS и html. Это что то типа Artisteer но встроенного в сам двигло.
Потом появились заказы на инетмагазы - пришлось что-то мудрить, чтобы миникарточки и большие карточки можно было запиливать индивидуально, и опять же не программируя.
В общем 10 лет прошло. Очень много было сделано с тех пор. Очень!!! Дгло привратился из самопала в настоящий студийный движёк. Было около 200 внедрений. Глобальный оборот денег, которые клиенты заработали на моём движке... ну наверное милииард рубчиков так точно.
Куда я сейчас двигаю этот проект? Внедряю всё возможное и невозможное для работы над сайтом В КОММАНДЕ. Делаю это потому, что у меня уже как 3 года есть бригада, состоящая из 4 программистов. И соответственно разработка CMS уже имеет серьёзные отличия от того периода, когда я был один. Я это всё написал в подтверждение тому, что надо решать проблемы по мере поступления. Только такой подход позволил двигаться в развитии проекта. Всегда, когда я пытался решать проблемы каким-то ультра-модно-современно-каноничным методом, я зашивался, зарывался, закумаривался, буксовал, зависал, никакой ценности не давал клиенту, ну и как результат ничего не зарабатывал - а ведь это главное!!!

В общем совет такой - ДЕЛАЙ, ПРОСТО ДЕЛАЙ! Архитектура, лучшие практики - хрень полная! Когда будеш много решать проблем, ты сам всё увидишь. Либо если будеш работать в комманде под руководством опытного тимлида - ты не будеш парится над вопросом "куда идти". Всю ответственность будет брать на себя тимлид. Если ты сам станеш тимлидом, то ты и будеш задавать ту самую практику, на которую будут ориентироватся твои самураи-подчинённые.
Ответ написан
Комментировать
Epsiloncool
@Epsiloncool
Программер, веб-девелопер, гейм-девелопер
Задаться целью написать что-то, даже не понимая как это устроено - это смело, но с вероятностью 99, 9999% получится ерунда.

Для начала необходимо изучить имеющиеся CMS на практике, понять - какие недостатки есть в какой-то из них или во всех CMS в целом и затем принять решение - писать ли свою собственную CMS с нуля (чтобы устранить какие-то глобальные проблемы, присущие всем CMS, которые вы изучили), либо же присоединиться к огромному сообществу разработчиков одной из них, чтобы предложить свои продвинутые решения для улучшения существующей CMS.

Хотя, судя по вопросу автора, его проблема заключается банально в нежелании изучать существующие CMS. Типа "я самый умный, сейчас сделаю свою собственную CMS на коленке и весь мир вздрогнет, начнёт использовать мою CMS, говорить - какой я молодец и нести мне денег". Да, мы все через это прошли. И с высоты опыта отчётливо видно - насколько эта мысль детская :)
Ответ написан
Комментировать
FanatPHP
@FanatPHP
Чебуратор тега РНР
Автор просто запутался в незнакомых буквах, не cms, a MVC.

Если искать по правильным буквам, то информации мире, в том числе и на тостере
Ответ написан
Abr_ya
@Abr_ya
1) Основная, главная, не знаю, как ещё сказать, идея CMS - отделить контент от способа его представления и предоставить админку для того, чтобы чайник мог им управлять. Всё остальное - выбор языка, базы данных, структуры проекта, MVC, etc - решение конкретного разработчика!
2) Мне кажется ,в наше время писать CMS - это странно. Если Вам нужна CMS - возьмите готовую, если Вам нужна база для более серьезного и гибкого проекта - возьмите один из современных фреймворков!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы