разработка CMS

zuxel

Новичок
разработка CMS

На работе поставили задачу написать CMS. Я - начинающий php программист( пол года более-менее интенсивной и постоянной работы ), крупных проектов не вел, до этого ограничивался подгонкой под ТЗ нескольких CMS, написанием под них модулей. Вообще, я практически уверен, что написать смогу, вопрос в том, насколько низким будет качество готового продукта. Я понимаю, что скорее всего я в итоге соберу очередной велосипед, причем, "Маде ин чина" И я пытался предложить взять готовую cms или каркас типа modX, и переписать ее, но понимания не нашел. По большому счету, мне все равно, к тому же писать точно будет интереснее, чем добавлять тексты на какой-нить сайт, т.к. заказчик не может овладеть визивиг редактором joomla. Для меня это будет хорошей вехой, всмысле для опыта, резюме. :).
Сам остов смц планирую оснастить минимальным функционалом: пользователи, группы пользователей, разделение прав для них, добавление статей, комментариев. Далее в зависимости от требований писать и подключать модули. Здесь первый вопрос: что можно почитать про организацию модульной системы? Т.е. мне не нужно, чтобы было так же козырно как в Joomla или Wordpress, где подключение решается двумя кликами, но и перерывать сотню файлов и ядро чтобы встроить требуемый функционал тоже не хочется.
Кстати, саму работу думаю, стоит начинать с ядра, включить туда класс для работы с БД, шаблонизатор, средства для кеширования. Что еще?
По поводу шаблонизатора: я немного работал с smarty и мне понравилось :) Но слышал, что он излишне громоздкий, тяжелый и прочее, вообщем, как считаете, стоит делать систему шаблонов на нем или обратить внимание на что-то другое?
Стоит ли использовать фреймворки?
Вообще, буду благодарен за любые советы или замечания по теме, особенно если имелсся опыт подобной работы. Если есть в закромах хорошие маеуалы по проектированию крупных веб-сервисов, буду рад!
 

Духовность™

Продвинутый новичок
вопрос в том, насколько низким будет качество готового продукта
Очень низким. Программист всегда (в 99%) пишет говнокод. Если программист не осознает того, что он пишет говнокод и, как следствие, не пытается повысить свой уровень, он - говнопрограммист.

По поводу шаблонизатора: я немного работал с smarty и мне понравилось Но слышал, что он излишне громоздкий, тяжелый и прочее, вообщем, как считаете, стоит делать систему шаблонов на нем или обратить внимание на что-то другое?
инструмент подбирается не из-за того, что ты что-то слышал, а по нужде. Микроскопом микроорганизмы рассматривают, а молотком гвозди забивают. Нужен смарти - используй. Не хочешь - юзай PHP.
 

nw

Новичок
Возьми готовую открытую CMS, переработай под нужды работодателя (видоизменив, чтобы не так было заметно что система изначально готовая).
И самому будет полезно посмотреть как оно работает и работодатель в итоге получит более качественный продукт.
 

Духовность™

Продвинутый новичок
офф конечно, но Фаулера читать ппц - надо 5 раз прочесть, ибо рассказывая об одном решении, Фаулер упоминает также 100 других, ещё не рассмотренных по мере чтения паттернов.
 

HraKK

Мудак
Команда форума
А никто и не говорит что легко. У него же есть еще замечательная книга - Рефакторинг. Прочитал АКП - написал говнокод, прочитал Р - отрефаторил, прочитал еще раз АКП - переписал заново, прочитал Р - отрефакторил, перечитал еще раз АКП - переписал заново... и так до гроба.
 

whirlwind

TDD infected, paranoid
> Программист всегда (в 99%) пишет говнокод

Ну это, как-бы расшифруй. Какой смысл повышать свой уровень, если в результате все равно получится гавнакод? Не проще ли тогда писать что получается и просто не задумываться над этим?
 

boombick

boombick.org
Какой смысл повышать свой уровень, если в результате все равно получится гавнакод?
С повышением уровня концентрация говна в коде уменьшается :) Т.е. если человек разумен, то концентрация стремится к нулю, а если нет, то к плюс бесконечности :) Следовательно, посмотрев на код человека и зная его стаж можно делать первоначальные выводы о перспективности товарища :)
 

atv

Новичок
Стоит ли использовать фреймворки?
Вопрос не в том, стоит или нет. Стоит. Вопрос в том, какие. Посмотри несколько из существующих. Попробуй сделать на них простейшее CRUD приложение, и выбери тот, который для тебя на данном этапе наиболее понятный.
 

Alexandre

PHPПенсионер
У него же есть еще замечательная книга - Рефакторинг. Прочитал АКП - написал говнокод, прочитал Р - отрефаторил, прочитал еще раз АКП - переписал заново, прочитал Р - отрефакторил, перечитал еще раз АКП - переписал заново... и так до гроба.
и говнокод превращается в "совершенный код"
книга стоющая, одна из не многих, которая изменила мой взгляд на кодирование
 

AmdY

Пью пиво
Команда форума
Автор оригинала: whirlwind
> Программист всегда (в 99%) пишет говнокод

Ну это, как-бы расшифруй. Какой смысл повышать свой уровень, если в результате все равно получится гавнакод? Не проще ли тогда писать что получается и просто не задумываться над этим?
как это не ужасно, но проще писать говнокод, я бросил офис, потому что там приняли решение писать проекты исключительно на Битрикс и Неткат и с оргументацией не поспоришь. Это им выгоднее и с поиском проектов можно не париться.
 

whirlwind

TDD infected, paranoid
AmdY не расстраивайся. Просто тебе не повезло с проектом. Для большинства "сайтиков" действительно никакие высокие технологии не нужны ибо половина из них уходит в небытие, как только "главный" набалуется. На долгоиграющих проектах гавнакод выливается в такие баблосы, что на них 10-20 сайтиков купить за нефик нафик.
 
Сверху