В прошлой заметке я сформулировал основные требования к движку блога. Теперь пришло время в общих чертах разобаться с реализацией. На начальном этапе здесь можно сказать совсем немного, поэтому пост будет небольшим.
Технические требования
Язык программирования: PHP 5.1+
В принципе, я мог бы себе позволить и использовать PHP 5.3, мигрировав блог на мою VPS, но я не вижу в этом большой необходимости, тем более, что хостинг от EOMY за много лет показал себя с лучшей стороны.
СУБД: MySQL.
Здесь выбор тоже практически очевиден: MySQL есть на любом хостинге и мне привычно с ним работать.
Фреймворк: Yii Framework
Выбор фреймворка — тема не простая, так что ее я прокомментирую отдельно.
Миграция и обратная совместимость: весь контент должен быть перенесен и адаптирован к новому движку, все ссылки в постах должны остаться действующими, со старых URL постов должен быть редирект на соответствующие новые.
Yii Framework
На самом деле, для меня выбор фреймворка практически очевиден, поскольку я уже имел опыт разработки довольно сложного сайта на Yii Framework и он показал себя с лучшей стороны.
Помимо этого есть еще плюсы в его копилку:
Фреймворк сам по себе написан очень хорошо и работает быстро
Фреймворк быстро развивается и не отягощает себя поддержкой устаревших технологий (камешек в сторону CakePHP)
Есть внушительный централизованный репозиторий расширений, которые реализуют наиболее сложные фитчи "из коробки".
Наконец, есть базовый скелет блога на Yii, на написании которого построен официальный тьюториал. Кроме того, я нагуглил довольно много попыток развить эту основу до состояния нормального движка, которые надо внимательно изучить и, возможно, взять за основу.
Этот вечер я посвятил просмотру репозитория расширений и нашел там много полезного для себя и будущего движка :-)
С чего начать?
Перечислю для истории все проекты, которые я рассматриваю как потенциальную базу для движка:
Bliig — произвел на меня наиболее положительное впечатление, судя по всему более-менее серьезная разработка.
YiiBlog — развитие Yii Blog Demo с официального сайта. Суда по всему, автор, как и я, затачивает его исходя исключительно из собственных пожеланий, которые немного расходятся с моими. Но все же он заслуживает рассмотрения, хотя и во вторую очередь.
Yii BlogDemo Extended — другая попытка развить демо-приложение блога. К сожалению, развитие не имеет четкого направления и поэтому в нем появилась такая глупость как флеш-часы. Кроме того, проект уже год никак не развивается, поэтому он пригоден разве что для подсматривания идей решения разных задач, но не как полноценная основа.
YiiApp — попытка содать универсальный каркас приложения на Yii. Попытка, судя по всему, достойная, но для меня не очень подходящая.
yay-cms — простая CMS на базе Yii. В качестве основы для блога подходит плохо, но в отношении создания обычных сайтов проект интересный, поэтому заслуживает упоминания.
Кроме того, для всех этих проектов имеет место фактор априорного недоверия к неизвестным мне разработчикам, но это лишь второстепенный момент. В конце концов, мне все равно придется ознакомиться со всем исходным кодом движка.
Внимательное изучение этих проектов мне, видимо, еще предстоит, но я вижу два наиболее вероятных варианта:
Взять за основу Bliig и танцевать от него.
Взать за основу официальное демо, а найденные проекты использовать как шпаргалки для подсматривания решений.
Open Source
Я до сих пор еще не принял окончательного решения, но скорее всего движок будет приватным по двум причинам:
Я не хочу тратить время на оказание поддержки по движку.
Я допускаю, что в движке могут быть баги. Потенциальным взломщикам будет гораздо легче их найти, если исходники будут общедоступны.
Честно говоря Вы в довольно интересном положении, если толково доводить до ума все в соответствии с Вашим же техническим заданием, то на "доделку" готового движка времени уйдет не на много меньше чем на создание самописного. Свой может и лучше, чтоб не отлавливать дефекты в чужом коде к примеру.
Чисто технический момент - в статье, под заголовком "Open Source" четвертое слово по смыслу похоже на "очепятку" которую спелчекер не отловит, будет желание гляньте на досуге ;)
Честно говоря Вы в довольно интересном положении, если толково доводить до ума все в соответствии с Вашим же техническим заданием, то на "доделку" готового движка времени уйдет не на много меньше чем на создание самописного. Свой может и лучше, чтоб не отлавливать дефекты в чужом коде к примеру.
Чисто технический момент - в статье, под заголовком "Open Source" четвертое слово по смыслу похоже на "очепятку" которую спелчекер не отловит, будет желание гляньте на досуге ;)
Спасибо, очепятку исправил.
Отправить комментарий