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

    08.12.2016: Бенджамин Франклин. Биография

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

    08.12.2016: С. Ковалев. книга "Нейропрограммирование успешной судьбы" 2015

    08.12.2016: Сегментация как способ найти клиента - [profileschool]

    08.12.2016: М. Гаврилов. Предназначение 2016

    08.12.2016: Журналистские приемы для написания текстов (2016)

    08.12.2016: Почтовая рассылка. Минуя спам-фильтры! Осень 2016

    07.12.2016: Менеджмент кинопроизводства (Киношкола 2morrow)

    07.12.2016: Создание сценария на основе рассказа (Киношкола 2morrow)

    06.12.2016: Снятие негативных эгрегориальных подключений

    06.12.2016: 12 способов заработка с помощью YouTube (2016)

    06.12.2016: Развитие внимания. Часть 1. Шевцов (4 DVD)

    05.12.2016: Книга - Расставание без боли и слёз (2016)

    03.12.2016: Книга - Высокие технологии для сада и огорода

    03.12.2016: Книга - Ботаническая иллюстрация. Венди Холендер

    03.12.2016: Корейский язык. Вводный курс (+MP3)

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

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

    02.12.2016: Е. Шморгун. Утренние медитации

    02.12.2016: Е. Шморгун. Прощение

    02.12.2016: Е. Шморгун. Первый базовый модуль. Осознанность

    02.12.2016: Е. Шморгун. Второй базовый модуль. Мои отношения с собой

    02.12.2016: Удовольствие рисования

    29.11.2016: Осанка - основа красоты и здоровья

    28.11.2016: Между нами девочками. 1 ступень школы настоящих женщин

    28.11.2016: Самураи. Первая полная энциклопедия (2016)

    28.11.2016: К. Бордунос. Огонь вселенской Любви

    28.11.2016: Книга моих историй. Советы и идеи

    28.11.2016: Я писатель. Книга моих историй (2016)

    28.11.2016: Лечебник потомственного деревенского знахаря

    28.11.2016: Психотерапия для начинающих. Самоучитель (2016)

    28.11.2016: Ментальная сторона онлайн-успеха (2016)

    28.11.2016: Иностранный язык: как высосать из него все деньги (2016)

    28.11.2016: Общение на результат. Как убеждать, продавать и договариваться (2017)

    28.11.2016: Большая книга общения с ребенком (2016)

    28.11.2016: Правила здоровой и долгой жизни

    28.11.2016: Анатомия везения. Принцип пуповины

    28.11.2016: Аутентичный учебник ниндзя XVII века (2016)

    28.11.2016: Гражданский кодекс для чайников (2016)

    28.11.2016: Уголовный кодекс для чайников (2016)

    28.11.2016: Иудаизм и масонство. Платонов (2016)

    28.11.2016: Православие против масонства. Платонов (2016)

    28.11.2016: Русское сопротивление. Война с антихристом. Платонов

    28.11.2016: Война с внутренним врагом. Платонов

    28.11.2016: Государственная измена. Платонов

    28.11.2016: Злые мифы о России. Что о нас говорят на Западе? (2016)

    27.11.2016: Другая Америка. Записки волонтера

    27.11.2016: Allsubmitter 7.6 Null

    27.11.2016: Грязные войны буржуинов

    27.11.2016: Как снять классный timelapse (школа «Как снимать кино»)

    27.11.2016: Автоматизация произношения и дифференциация звуков [ц], [ч], [щ] (2016)

    27.11.2016: Автоматизация произношения и дифференциация звуков раннего онтогенеза (2016)

    27.11.2016: Автоматизация произношения и дифференциация звуков [с]-[ш]-[з]-[ж] (2016)

    27.11.2016: Автоматизация произношения и дифференциация звуков [с]-[з]-[с']-[з'] (2016)

    27.11.2016: Автоматизация произношения и дифференциация звуков [р] и [р'] (2016)

    27.11.2016: Автоматизация произношения и дифференциация звуков [л], [л'], [j] (2016)

    27.11.2016: Предсказание по «Книге Перемен». И-Цзин

    27.11.2016: Что, если ты можешь? 6 простых способов исцеления жизни (2016)

    27.11.2016: Что такое бессмертие и технология его достижения (Виногродский)

    27.11.2016: Тело — главное орудие познания мира. Виногродский

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

    08.12.2016: Сегментация как способ найти клиента - [profileschool]

    02.12.2016: Удовольствие рисования

    16.11.2016: Завершение отношений. Мастер-класс

    16.11.2016: Психогенеалогия для всех. Дистанционный курс для самостоятельной работы с семейной историей.

    12.11.2016: [готовый бизнес] Чистая прибыль в день от 3000р до 6000р [повтор-3]

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

    10.10.2016: Разработка нового продукта методом lean startup

    19.08.2016: Бухгалтерский бизнес (4 курса)

    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: Любовная Совместимость. Методика Разведчиков

    13.06.2016: Оптимизация налогов и страховых взносов. Защита активов в 2016 г.

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

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

  3. Сбор взносов

    08.12.2016: Бенджамин Франклин. Биография

    08.12.2016: Журналистские приемы для написания текстов (2016)

    06.12.2016: Снятие негативных эгрегориальных подключений

    06.12.2016: 12 способов заработка с помощью YouTube (2016)

    06.12.2016: Развитие внимания. Часть 1. Шевцов (4 DVD)

    05.12.2016: Книга - Расставание без боли и слёз (2016)

    03.12.2016: Книга - Высокие технологии для сада и огорода

    03.12.2016: Корейский язык. Вводный курс (+MP3)

    29.11.2016: Осанка - основа красоты и здоровья

    28.11.2016: Между нами девочками. 1 ступень школы настоящих женщин

    28.11.2016: Самураи. Первая полная энциклопедия (2016)

    28.11.2016: Книга моих историй. Советы и идеи

    28.11.2016: Я писатель. Книга моих историй (2016)

    28.11.2016: Лечебник потомственного деревенского знахаря

    28.11.2016: Психотерапия для начинающих. Самоучитель (2016)

    28.11.2016: Ментальная сторона онлайн-успеха (2016)

    28.11.2016: Иностранный язык: как высосать из него все деньги (2016)

    28.11.2016: Общение на результат. Как убеждать, продавать и договариваться (2017)

    28.11.2016: Большая книга общения с ребенком (2016)

    28.11.2016: Правила здоровой и долгой жизни

    28.11.2016: Анатомия везения. Принцип пуповины

    28.11.2016: Аутентичный учебник ниндзя XVII века (2016)

    28.11.2016: Гражданский кодекс для чайников (2016)

    28.11.2016: Уголовный кодекс для чайников (2016)

    28.11.2016: Иудаизм и масонство. Платонов (2016)

    28.11.2016: Православие против масонства. Платонов (2016)

    28.11.2016: Русское сопротивление. Война с антихристом. Платонов

    28.11.2016: Война с внутренним врагом. Платонов

    28.11.2016: Государственная измена. Платонов

    28.11.2016: Злые мифы о России. Что о нас говорят на Западе? (2016)

    27.11.2016: Другая Америка. Записки волонтера

    27.11.2016: Грязные войны буржуинов

    27.11.2016: Как снять классный timelapse (школа «Как снимать кино»)

    27.11.2016: Автоматизация произношения и дифференциация звуков [ц], [ч], [щ] (2016)

    27.11.2016: Автоматизация произношения и дифференциация звуков раннего онтогенеза (2016)

    27.11.2016: Автоматизация произношения и дифференциация звуков [с]-[ш]-[з]-[ж] (2016)

    27.11.2016: Автоматизация произношения и дифференциация звуков [с]-[з]-[с']-[з'] (2016)

    27.11.2016: Автоматизация произношения и дифференциация звуков [р] и [р'] (2016)

    27.11.2016: Автоматизация произношения и дифференциация звуков [л], [л'], [j] (2016)

    27.11.2016: Предсказание по «Книге Перемен». И-Цзин

    27.11.2016: Что, если ты можешь? 6 простых способов исцеления жизни (2016)

    27.11.2016: Что такое бессмертие и технология его достижения (Виногродский)

    27.11.2016: Тело — главное орудие познания мира. Виногродский

    27.11.2016: Искусство женского флирта, соблазнения и дефиле. Раков (2016)

    27.11.2016: Секреты женского влияния на мужчин. Раков (2016)

    27.11.2016: На самом деле я умная, но живу как дура. Раков (2016)

    27.11.2016: Моделирование женской одежды для начинающих (2016)

    27.11.2016: Как запомнить самое важное. 17 простых приемов

    27.11.2016: Учить иностранные слова легко

    27.11.2016: Материализация денег. 7 шагов к финансовой свободе

    27.11.2016: Аудиокнига - Английский за рулем. Выпуск 3 (Pre-Intermediate)

    27.11.2016: Аудиокнига - Английский за рулем. Выпуск 2 (Elementary)

    26.11.2016: Аудиокнига - Английский за рулем. Выпуск 1 (Beginner)

    26.11.2016: Читаем и поем по-английски! Песенки и стихи для малышей

    26.11.2016: Аудиокнига - Английский в дороге. Курс для начинающих

    26.11.2016: Аудиокнига - Английский язык. Расширенный курс (2016)

    26.11.2016: Аудиокнига - Английский за 30 минут (Beginner)

    26.11.2016: Семинар-воркшоп по страницам в инфомаркетинге

    26.11.2016: Вижу вас насквозь. Как «читать» людей» (Спирица)

    26.11.2016: Видеоразбор 3-х фильмов (Церетьян)

Файловая БД

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

Уф, 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 вырастет во что-то большее, чем просто проект для портфолио.


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