Для небольших сайтов разумно было бы организовать редактирование "как есть": пользователь уже видит нужный фрагмент информации на публичной странице сайта – можно прямо к этому фрагменту присоединить кнопку "Редактировать" (которая будет, например, всплывать при наведении мыши, а при щелчке вызывать форму редактирования, всплывающую поверх страницы).

Сайт третьего поколения

Этому сайту (ir2.ru) лет десять. И до сих пор он прекрасно выводил информацию с помощью лапшеобразного плоского php (index.php -> include config.php -> mysql_fetch_assoc -> print()). И так бы дальше и продолжалось, если бы не возникла проблема совсем в другом месте.

Все клиентские сайты нашего предприятия уже давно работают на CMS "Бикубик" (и наш сайт dbmodern.ru тоже). Наш движок собирал опыт лет пять-шесть. Он при этом существенно развивался, но и попутно оброс ракушками, которые стали понемногу тянуть корабль ко дну. Всё больше времени приходится тратить на изменение основного кода, потому что постоянно надо оглядываться на старые сайты (типа легаси).

Поэтому я придумал совершенно новый движок, ну совсем без ракушек (но и без рулетки). Без рулетки он выглядит глуповато, поэтому назван "Unsinn".

Теперь этот сайт (ir2.ru) работает на Unsinn версии 0.14 pre-pre-alpha. "Третье поколение", потому что после "лапши" был пропущен "Бикубик". При переносе сайта обнаружились совсем уже дурацкие проблемы. Например, основная часть страниц сайта имеет адреса с расширением .aspx (автор любит иногда повыёживаться), а более древний Учебник HTML - с расширением .htm. Религия Unsinn требует единственной сущности для Страниц, а расширение адреса (.aspx, .htm) намертво привязано к сущности. Квадратный, конечно, метод, но он (в числе прочих хитростей) позволяет php-коду сайта быть размером в 50 килобайт.

Такой размер кода наводит на мысль решить "проблему двух расширений" таким же квадратным способом - попросту поместить в папку древнего Учебника (html) отдельный экземпляр движка. Да, Unsinn (так же как и Бикубик) легко запускается из любой папки (не обязательно из корня сервера или виртуального хоста). И базу данных можно спокойно делить с помощью префиксов таблиц (указываемых здесь прямо в файле index.php - а зачем ещё он нужен?..).

Не, ну на "лапше" код был ещё меньше (килобайт на 10). Но там приходилось править недружелюбные комментарии посетителей через PHPmyadmin, а сейчас это - цэ-ме-эс! Жмёте Ctrl+Alt+e, вводите имя admin и пароль admin - и выскакивает куча красивых кнопочек, открывающий доступ прямо к сердцу к полям mysql-таблиц. (Доступ, правда, у вас будет только для чтения). А если ещё раз нажмёте Ctrl+Alt+e, попадёте на страницу edit.com и получите доступ к спискам всех сущностей (Страницы, Файлы, Комментарии...).

Spaghetti-код вообще часто недооценивают, а ведь он способен дать максимальную скорость генерации страницы. И нормальная логика развития CMS заключается в том, чтобы не отходить от спагетти до последней возможности. И начинать добавлять функции, только когда без них совсем уж никак. А не так как вы привыкли: "планируем сразу K классов для контроллера, M классов для модели... нет, М мало, возьмём сразу N...".

Наш Unsinn называется так, именно потому что большинство из вас так его и назовут, испуганно скашивая глаза на авторитеты. Unsinn чихать хотел на все авторитеты:

no gods, no masters, no OOP, no PaSaRan!


Комментарии