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

    30.04.2017: Отливки - способ очиститься от негатива

    28.04.2017: Имбилдинг - Кaк cделaть ночи незaбывaемыми

    27.04.2017: [Закрытая] Альфа

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

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

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

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

    25.04.2017: Женщина и Мужчина

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

    25.04.2017: Бордунос. Мужчина и Женщина. Любовь, Лидерство, Сотворчество

    25.04.2017: Осознанное омоложение

    25.04.2017: Сенсорные игры

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

    23.04.2017: Электричество без розетки, 4,8 кВт

    21.04.2017: Получение воды из воздуха + кондиционер ( два в одном)

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

    21.04.2017: Генератор вихревого магнитного поля

    21.04.2017: Эликсир бессмертия. Рецепт.

    21.04.2017: Анобиозный холодильник

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

    21.04.2017: Технология получения ответов на все свои вопросы

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

    20.04.2017: Шьем купальники для гимнастики

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

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

    08.04.2017: [Кoндитерка] Торты. Кoндитерка

    08.04.2017: Мама-ребенок-ответственность

    08.04.2017: Научись готовить настоящую итальянскую пасту

    08.04.2017: Курс эффективного мышления

    08.04.2017: Я-живая,возвращение утраченной женской силы

    02.04.2017: Алена Ефимова. Я - Есть! Как найти себя?

    01.04.2017: Книга - А. Погорелый. 23 способа как заработать в интернете. 2016

    30.03.2017: [Проект дома] Норвежский дом 2.0

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

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

    23.03.2017: Теоретический видео курс гадания на картах Таро

    19.03.2017: INSTASOFT 3.4.3.5

    16.03.2017: Л. Питеркина. Март 2017. Даосские практики для личного благополучия

    15.03.2017: Генеративный коучинг от основателей

    05.03.2017: К. Бордунос. Кризис - лучшее время для Лидера

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

    02.03.2017: К.Бордунос. Альфа-контроль в бизнесе

    02.03.2017: Кен Уилбер. Интегральная духовность

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

    28.02.2017: Раскрытие твоей ценности - 1

    22.02.2017: Любовь. Секреты разморозки

    21.02.2017: Элитный курс «Психология и психофизиология питания»

    17.02.2017: Роман Милованов (AWAKENING). Сердце. вебинар

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

    03.02.2017: Элитный курс «фитнес-нутрициолог»

    26.01.2017: А. Маматов. Депрессия и панические атаки. январь 2017

    21.01.2017: Antidetect 6.50.2.2016

    17.01.2017: БроБот 2016.07.13

    16.01.2017: А. Иванов. Веб-аналитика для бизнеса (для чайников)

    12.01.2017: [Дуйко Андрей] Очарование Партнера 2

    25.12.2016: И. Ледоховский, Р. Мануэль. Мастер гипнотических историй. часть 2 из 3

    16.12.2016: И. Ледоховский, Р. Мануэль. Мастер гипнотических историй. часть 1 из 3

    12.12.2016: В. Сибирцев. Избавление от страхов

    08.12.2016: Книга - Маркетинг Дракулы

    02.12.2016: Кен Уилбер. Интегральный буддизм

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

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

    21.04.2017: Получение воды из воздуха + кондиционер ( два в одном)

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

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

    21.04.2017: Технология получения ответов на все свои вопросы

    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. Просмотры: 166

Уф, 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 нравится это.
Вам необходимо войти для комментирования