Интересно, что люди, которые начинают рассуждать на тему грамотности, сразу строят свои предложения сложнее. Уверен, что даже перепроверяют, т.к. написать, что ты грамотный, и допустить в этом предложении ошибки будет нелепо. =)
Можно сделать проще: экспорт из SVN изменений (структуры директорий), произошедших между 2мя ревизиями и обновить только эти файлы. Тогда достаточно будет помнить (записать в конфиг) номер ревизии кода на FTP сервере.
Можно пойти дальше и использовать теги, но не думаю, что для сайтов, хостящихся на FTP это будет востребовано.
Самые главные качества — умение решать проблемы самостоятельно и умение докопаться до сути, а не спустить всё на тормозах и сделать заплатку (хотя её тоже важно сделать =)). Вот как выявить их — это уже дельный вопрос…
Думается, что задача номер 3 точно не для «Senior PHP», а каких-нибудь «Junior PHP».
Вообще Senior PHP должен уметь решать сложные задачи правильно проектировав структуры объектов, данных, вызовов и т.п. архитектур. Поэтому не совсем ясно что призваны выявить данные вопросы?
Очень хорошая реализация, т.к. постоянное дублирование кода при наследовании, создании новых singleton'ов уже порядком надоело. Вместе с заплаткой для версий ниже 5.3.0 механизм получается универсальным.
Не весь же фреймворк одновременно проходит через интерпретатор. А потом не стоит экономить на спичках: не такая уж большая разница по времени будет между интерпретацией 10 строк и 1000 строк сравнивая со временем выполнения одного запроса к базе.
Нет в этом ничего страшного, поверьте. Главное правильно разделять логику шаблона и и всё остальное. Любой шаблонизатор ставит для нас жёсткие рамки, но можно просто использовать мозги и не разрешать себе лишнего в шаблонах. А как будет выглядеть цикл: {foreach from=$items item=item} иди <?php foreach ($items as $item) { ?> — не так уж важно.
Согласен, что при таком подходе библиотеки по работе с базой можно отбросить (сам грешен написанием своего «lite» варианта MVC =)). Но теже библиотеки валидации, форм всё равно нужны. И как же модульность?
Мне нравится Zend, но я могу быть субъективен в своих оценках =). Нравится он главное образом тем, что библиотеки можно без проблем использовать без предложенной реализации MVC, если не устраивает её тяжеловестность или что-то другое.
Понравился Symfony, а вот Kohan'y не смотрел. На мой взгляд фреймворк не должен быть связан с какой-то структурой базы (это же не CMF или CMS). Будет обидно, если запрос из Kohana, ведь судя по отзывам грамотная вещь!
В этом и плюс фреймворка, что его можно использовать не полностью, а только задействуя необходимые библиотеки. Вы же предложили по сути свою реализацию, как было сказано ниже, роутера (маршрутизатора). А это лишь одна библиотека.
Без этого у вас было бы больше радостей жизни =)
Можно пойти дальше и использовать теги, но не думаю, что для сайтов, хостящихся на FTP это будет востребовано.
Вообще Senior PHP должен уметь решать сложные задачи правильно проектировав структуры объектов, данных, вызовов и т.п. архитектур. Поэтому не совсем ясно что призваны выявить данные вопросы?
А на «спецов» можно особо не смотреть: внешний вид таблиц у них тоже задан атрибутами, хотя CSS был придуман также очень давно.
Понравился Symfony, а вот Kohan'y не смотрел. На мой взгляд фреймворк не должен быть связан с какой-то структурой базы (это же не CMF или CMS). Будет обидно, если запрос из Kohana, ведь судя по отзывам грамотная вещь!