Возвращаяюсь к началу…

Я вот что подумал: я отвлекся от темы. На самом деле блог задумывался как описание того «как написать движок сайта на php», собственно на примере самого блога.

Так вот движок был написан где-то в январе-феврале 2007 года, за две с небольшим недели. Больше я к движку не прикасался. Связано это было не с тем что я закончил его писать и/или остался доволен результатами свое работы, а с тем что у меня закончился отпуск. В то время я работал в Servus Sistems Integration разработчиком пользовательских интерфейсов на JavaScript и к PHP вернулся только благодаря небольшому проекту от Alfa банка которому нужен был онлайновый калькулятор ипотеки. Этот калькулятор и реализовали на php+oracle. После его написания меня накрыло давнее (с времен работы на promsat) желание написать собственное движло.

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

Архитектура движка была выбрана фреймворковая то есть основой должно быть генерация страниц (страниц и списков) и раздача прав пользователям. Так например комментарии к страницам выполнены в виде модуля «цепляющегося» к самой странице.

С базой тоже все было не гладко надо было выбирать что использовать nested sets или adjustment lists и я выбрал nested sets. Для этого у человека по имени Кузьма Феськов была выклянчена свежая (v3.0) версия (которую я так до сих пор нигде не видел) библиотеки DbTree, хотя к сожалению не смотря на это она так и не вошла в движок.

Интерфейс сайта я сначала собирался сделать с помощью YUI, как раз примерно в это время появилась библиотека ExtJS тогда еще yui-ext и я с радостью начал в ней ковыряться, удачно сперев коментарии с блога Jack Slocum’a. Потом уже я отказался от этой идеи из-за убогости моего исполненя и того что автор перекраивал свое творение изо дня в день, а мне не хватало элементарно познания JavaScript, чтобы за ним хоть как-то угнаться. Так вот дизайн я решил взять портированый под Seditio c движка Joomla, а точнее спертый с сайта Rocket Theme моим другом Asmo.

Так вот я решил реанимировать движок и дописать спустя почти год. По памяти поставив apache+php+mysql всего за 40 минут (неутешительный результат), я запустил сайт локально (странно заработал с первого раза, подозреваю грандиозный подвох) и открыв код удивился как это все вообще работает. Сейчас я собираюсь как следует подрихтовать это чудовище на предмет навигации, а также дописать авторизацию и сделать нормальные коментарии.