Начинаю приходить к выводу, что для чего-то сложного PHP нихрена не подходит. Возьмём пример: postNuke -- Cоntent Managment System. Заказчику зачем-то пришло в голову использовать postNuke для следущего проекта (в двух словах): есть группы пользователей, есть проекты. Пользователи из разных групп меняют/просматривают разные аттрибуты проектов. Всё это хозяйство должно поддерживать разные языки.
На первый взгляд postNuke подходит для решения данной задачи. Когда нам предложили заняться этим, мы поковыряли чут-чуть postNuke на предмет ознакомления и решили взяться. Теперь вот сижу и буквально трахаюсь со всем этим. Выяснилось, что существующие модули в силу своей ориентированности на среднестатистический интерент-портал со всеми его аттрибутами для решения задачи не подходят. Красиво написанные спецификации по postNuke действительности не особо соответствуют, я имею ввиду, что те рекомендации, которые в них насписаны для разработчиков, разработчиками модулей не соблюдаются. Качество самой документации крайне низкое, сама система не объектно-ориентирована. Короче, сижу ковыряюсь в кишках postNuke для того что бы понять как перекладывать модель проекта на мною в будущем написанные модули..
Мне видятся только две причины-виновницы: либо я "не просёк фишку" postNuke, либо сам язык поспособствовал созданию этого монстрика (postNuke). Я склоняюсь к последнему: та помойка из функций, присутствующая в PHP, отсутствие какой-либо идеологии, а так же то, что PHP является web-языком, в следствии чего, многие PHP программисты застряли где-то в эпохе процедурного программирования плюс имеют крайне низкую квалификацию, способствует созданию фреймворков которые крайне сложно использовать без гимморя.