1. Новые складчины

    23.06.2017: Избавление от сахарной зависимости(закрытая)

    21.06.2017: Работа с подсознанием

    21.06.2017: Японская фейс-йога

    21.06.2017: Кaк всегo зa 7 дней устaнoвить тишину, пoрядoк и пoслушaние в доме?

    21.06.2017: Даосские секреты отношений

    21.06.2017: Губы мечты

    21.06.2017: Деньги. Закрытая

    21.06.2017: Мужчин много, а я одна

    21.06.2017: Перестать быть такой, как все

    21.06.2017: Отношения с родом - основа жизни

    21.06.2017: Закрытая. Всё о женском наслаждении

    21.06.2017: О. Фролова. Интуиция: инструкция к применению

    21.06.2017: 2017г: Управление временем и достижение целей

    21.06.2017: Цель похудеть. Мозг и тело - как договориться.

    21.06.2017: СИСТЕМА ЭФФЕКТИВНОГО ПЕРЕХОДА НА СЫРОЕДЕНИЕ-3 + Рацион эффективного сыроеда

    20.06.2017: Рисование векторной графики: изометрическое изображение

    20.06.2017: БроБот 2016.07.13

    20.06.2017: INSTASOFT 3.4.3.5

    20.06.2017: swSpyBrowser - интернет мультибраузер в каждой вкладке свои cookies, useragent и IP-адрес

    18.06.2017: Нейробиология для родителей: как вырастить невероятных детей

    17.06.2017: Стройность на автопилоте

    16.06.2017: Фитнес модель за 4 месяца - 3.0 (пакет Gold)

    16.06.2017: Даосские практики для лица

    16.06.2017: Красота за 30 минут в день

    16.06.2017: Женская детокс программа для весны и лета

    16.06.2017: Меняем жизненный сценарий

    15.06.2017: Интенсив по заработку на фрилансе

    14.06.2017: Веб разработчик 7.0 Продвинутый HTML,CSS

    09.06.2017: Детoкс за 2 недели

    09.06.2017: Ясновидение за пять дней (Пересбор)

    09.06.2017: [Нeтология] Интернет-магазин с нуля: товар, логистика, маркетинг

    09.06.2017: Продажи услуг имиджмейкера

    09.06.2017: Закрытая. Метод. Обновление. Деньги.

    09.06.2017: Александром Приходько - Тренинг "Моделирование совершенства"

    09.06.2017: Формула привлекательности

    07.06.2017: Мужчины. Руководство.

    06.06.2017: Хочу и буду. Секс, Либидо, Любовь – как понять свои желания и воплотить их в жизнь

    06.06.2017: Подработка с затратами времени 10-20 минут день

    05.06.2017: Три курса по гипнозу (уличный, мгновенный, эротический)

    05.06.2017: Имбилдинг

    05.06.2017: Женщина. 5 граней совершенства

    05.06.2017: Волшебное средство: вылечивает малярию, ВИЧ, гепатиты, пародонтоз, рак и многие вирусные болезни.

    05.06.2017: [Декор] Кухонные нежности

    05.06.2017: Правила жизни с детьми и подростками

    05.06.2017: Женская власть

    31.05.2017: Как понять мужчину и разгадать женщину

    20.05.2017: Зеленые смузи. 10-дневная детокс-программа

    19.05.2017: SMM: Индустрия моды (SFBA)

    16.05.2017: Бинарные опционы.Торговая система QUANT CONTROL + супер бонус

    14.05.2017: Управлять отношениями с людьми

    14.05.2017: Замуж за успешного мужчину (100%)!

    14.05.2017: Кукла от известного автора

    14.05.2017: Л. Родник. Как обольстить мужчину без слов

    13.05.2017: Как создать своего мужчину

    12.05.2017: Грядки на асфальте

    04.05.2017: Устройство для извлечения золота, с дна реки

    27.04.2017: [Десерты] Низкокалорийные десерты

    27.04.2017: Вебинары К. Довлатова по "сказкам" с реинтеграциями

    25.04.2017: Преодоление эмоциональных расстройств и созависимости

    25.04.2017: Маленькие цветники

  2. Нужен организатор

    21.06.2017: СИСТЕМА ЭФФЕКТИВНОГО ПЕРЕХОДА НА СЫРОЕДЕНИЕ-3 + Рацион эффективного сыроеда

    16.06.2017: Женская детокс программа для весны и лета

    15.06.2017: Интенсив по заработку на фрилансе

    14.06.2017: Веб разработчик 7.0 Продвинутый HTML,CSS

    09.06.2017: [Нeтология] Интернет-магазин с нуля: товар, логистика, маркетинг

    09.06.2017: Продажи услуг имиджмейкера

    16.05.2017: Бинарные опционы.Торговая система QUANT CONTROL + супер бонус

    14.05.2017: Кукла от известного автора

    12.05.2017: Грядки на асфальте

    27.04.2017: Вебинары К. Довлатова по "сказкам" с реинтеграциями

    21.04.2017: Рецепт настоящего коньяка ускоренного приготовления без потери качества ( п'ять лет выдержки за 6

    21.04.2017: Управление временем и путь в безсмертие.

    19.04.2017: Курс по выпечке хлеба

    13.04.2017: Сергей Домогацкий - Путь

    28.03.2017: Рецепты для диеты - книга

    27.03.2017: Эзотерический марафон "Новая Я"

    03.03.2017: Торт-раскраска

    15.08.2016: В каждом ребенке солнце

    15.08.2016: Испания. Гастрономия

    15.08.2016: Книги по китайской медицине. Часть 2.

    15.08.2016: Логотип и фирменный стиль. Руководство дизайнера

    15.08.2016: Налоги за 14 дней. Экспресс-курс. Новое, 14-е изд.

    15.08.2016: Голубая точка. Космическое будущее человечества

    15.08.2016: Бесплодие — диагноз или приговор

    15.08.2016: Руководство по самоисцелению

    15.08.2016: Хорошие девочки отправляются на небеса, а плохие – куда захотят

    15.08.2016: Гипноз и другие фишки на сайте или секреты продающих сайтов

    03.08.2016: Любовная Совместимость. Методика Разведчиков

    19.01.2016: Ментальный курс от Александра Росса

    25.08.2014: IonCube v8.3 Decoder + PHP Script Auto-Fixer

Файловая БД

Опубликовано Kuiper. Блог Kuiper. Просмотры: 187

Уф, 7 часов почти непрерывно возился, но смог сделать первые важные шаги по созданию блоговой CMS.
Первым делом нужно было надежно написать маршрутизацию всех запросов к скрипту, чтобы и XSS с PHP-inj фильтровались, и нужные страницы отображались.

Сам код, где берется $_SERVER["REQUEST_URI"], т.е. запрос к сайту, и затем сравнивается с изначально заданными страницами, это не очень сложно. Сложнее было настроить .htaccess на Денвере. Я почему-то думал, что на локали, на Денвере в Windows htaccess-файл создается как htaccess.txt и, вроде бы, он даже работал, когда я его создавал для других локальных скриптов. Но помучившись с mod_rewrite, который включен в Apache2, а у меня в маршрутизаторе, т.е. Front Controller не пашет, методом научного тыка понял, что нужно создавать файл .htaccess, причем, именно в Блокноте, т.к. мой любимый NotePad++ не умеет сохранять такие имена файлов, а Блокнот умеет. И лишь после этого htaccess начал работать.

Сам .htaccess тоже оптимизировал, я вообще с его синтаксисом не очень дружу, очень редко что-то нужно сделать, поэтому оптимизировал код до 4 строк (кому нужно тоже - это код для перенаправления всех запросов к сайту на скрипт index.php):

Код:
[ Only registered users can see the bbcode. Click Here To Register... ]
IfModule можно было тоже не писать, но так надежнее, хотя в скрипте у меня первым делом идет проверка доступности mod_rewrite на сервере или хостинге, где запускается скрипт Kuiper CMS.

Идем дальше, переходим к MVC и классам.
Решил закрепить знания по ООП и SQL, поэтому вместо простого использования MySQL решил делать CMS на файлах.

Причин использовать "файловую БД" две:
- закрепляю знания по работе с данными, "изобретая" вновь методы выборки, редактирования и удаления записей в массивах информации (не в array(), а в больших объемах упорядоченных данных),
- пользователю моей CMS нужно будет сделать меньше действий, т.к. ему не нужно будет создавать базу данных, достаточно лишь подключиться по FTP к серверу или хостингу, скопировать файлы, поставить права 777 на папку db/ и 666 на файл settings.php, а после установки CMS поставить права 644 на settings.php и удалить файл install.php.

Кроме того, есть такие хостинги с тарифами, где разрешен PHP, но не разрешено использование MySQL, либо сервер БД очень глючный и часто падает. Обычно это тарифы хостинга с приятными низкими ценами.

Минус файловой БД в том, что при больших нагрузках такая CMS будет работать медленнее, но Kuiper CMS - это блоговая CMS, которую создает новичок, поэтому под хайлоад она не будет использоваться ))
Хотя, кто знает, может именно эта CMS вырастет во что-то большее, чем просто проект для портфолио.


Наверное, вам не очень интересно читать все эти подробности, буду выделять такие записи специальной пометкой "Программирование", т.к. нет тегов или категорий.
А для меня такие записи очень полезны, т.к. я еще раз мысленно прохожу по изученному и сделанному, это помогает закрепить знания и навыки в долговременную память, пока они не "стерлись" из краткосрочной памяти.
inferno нравится это.
Вам необходимо войти для комментирования