Предлагаю подойти к вопросу разработки CMS (или фреймворков для веб разработки) с другого конца, тоесть - отсечь все лишнее.
Итак, из наболевшего:
Некоторое время назад получили заказ на _доработку_ сайта ЗАО "Достаточно Известная Торговая Компания" (ДИТКо). Сайт был выполнен некой ООО "Всеми Уважаемой и Тоже Известной Студией" (ВУТИС). :)
Выводы, которые мы с г-ном Шариным сделали:
1. Ни в коем случае не привносить в код сущностей, не свойственных текущему языку разработки! Пишите на ПХП (например), так и пишите на нем!!!
Ведущие и Ведомые разработчики "ВУТИС" явно влюблены в Java. В результате мы имеем замысловатый фреймворк, с поддержкой джаваподобных пакетов (нафига???), доработать который - геморрой выше среднего. В течении 2 недель мы каждый вечер планомерно втыкали в код и в доку. И так и не смогли нормально объект создать....
2. Модные идиомы программирования придуманы умными людьми для того чтобы ОБЛЕГЧИТЬ жизнь разработчика. Ни в коем случае не наоборот.
Все мы любим и уважаем MVC, но почему для того, чтобы добавить 1 свойство в объекте необходимо отредактировать 4 (!!!) файла в разных папках (видимо, последствия несоблюдения п1)??? Как господа из ВУТИСа дошли до такой идеи???? Smarty template и контроллер я понимаю... а остальное нафига???
Опять же питаю теплые чувства к ООП, но какого хрена, название класса должно бать из 7 слов с подчерками (типа имя класса = Джава пакет)?
P.S. итог всего этого - осколки судеб разработчиков в матерных комментах , довольная своим величием ВУТИС (типа лучше нас никто не может поддерживать наши сайты), не бедная, но все равно страдающая от больших расходов компания ДИТКо и прогрессируюшее плоскожопие у нас с Евгением.
Алексей