Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
  • Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Веб [framework\движок сус]да, снова[25.05.2014]

danilko

Старожил
Пользователь
Баллы
103
В общем снова решил заняться написанием движка, в этот раз начал с создания framework`а на базе которого буду строить CMS.

В чем уникальность будущей СУС:
  • нет заточки под конкретное назначение (блог\форум\ещё что-нибудь...)
  • минимальное ядро, простая архитектура
  • возможно, удобный шаблонизатор, вшитый в ядро (лично мое мнение)
  • поддержка сайтов с\без mod_rewrite (за счет использования разных типов определения URI страницы)
  • быстрая скорость работы
Ну, теперь по подробнее. Заточки под конкретные нужды нет вообще, достигнуто это за счет использования не стандартной (я пока ни где не видел) шаблонизации. Уникальность вся в том, что модулей нет вообще, есть только "плагины", хотя я бы это плагинами не назвал, скорее расширения что-ли, ну не важно. Так вот, в шаблоне и странице могут присутствовать специальные теги, которые вызывают определенный плагин и его метод. Я сейчас не буду сильно расписывать как и что там устроено, просто скажу, что администратор сам сможет контролировать что и где выводится на странице. Так на примере ЛК можно из разных "плагинов" слепить именно то, что нужно только вам.
Ядро не имеет конфигов из-за их не нужности там (разве что определять где "плагины" с шаблонами лежат)
Ну про скорость и писать нечего, раз уж ядро состоит всего из трех файлов. Но добавлю то, что "плагины" подключатся динамически, по мере необходимости их использования.

Процесс разработки:
  • Написание движка (85% | нужно дописать кое-что, избавиться от костылей и готово)
  • Написание библиотеки database (95% | осталось пару мелочей)
  • Написание ПУ (0% | даже не начинал, хочу к понедельнику сделать)

Проценты взяты исходя из разницы плана и текущей ситуации.

TODO:
Ядро(framework/движек):
  1. Дописать поддержку сайтов без mod_rewrite
СУС (CMS):

  1. Написать плагин управления ссылками (adm_lnk_edit)
  2. Написать плагин управления страницами (adm_pages_manager)
  3. Написать библиотеку users (для авторизации\регистрации)
  4. Написать библиотеку config (для конфигурирования "плагинов")
  5. Написать библиотеку database (понятно для чего, уже почти готова)

changelog:
[22.05.2014]Накидал за пару часов ядро
[23.05.2014]Добавил обработку форм
[23.05.2014]Написал демонстрационный плагин "hello_user"
[24.05.2014]Переписал все в ООП
[24.05.2014]Доработал шаблонизатор (обработка переменных в шаблоне)
[24.05.2014]Заменил "cms/links.ser" на "cms/links.txt"
[25.05.2014]Исправил баг в плагине "hello_user"
[25.05.2014]Добавил простейшую тему оформления​

Чтоб тему не удалили выкладываю то, что есть(очень сырое). В сборке движок + плагин "hello_user".

Установка:
  1. Качаем архив
  2. Распаковываем в папку сайта
  3. Редактируем в файлах "input.php", "cms/controller.php" и "themes/parser.php" пути до тем оформления и движка (CMS_ROOT и THEMES_ROOT)
  4. Изменяем в конфиге "базовый URL" (url='...)
  5. Заходим на сайт
Страницы пока хранятся в ini файлах(может, потом в БД перемещу), которые лежат в папке "cms/pages/". ini определяется по URL ("http://example.com/index.php/test" - загрузит ini файл "cms/pages/test.ini"). Чуть позже ещё пару плагинов закину, для удобного редактирования файлов "cms/links.ser" и "cms/fm.ser" в links.ser хранятся ссылки на расширения, а в fm.ser ссылки на обработчики форм. Движок устойчив к удалению всех ini-страниц, fm.ser и links.ser.
 

Вложения:

  • cms_2.zip
    cms_2.zip
    Размер файла
    22,2 КБ
    Просмотров
    16
Последнее редактирование:
Всё очень плохо. Нет, даже не очень плохо, а всё просто ужасно. Не хочу писать целую статью, как в предыдущих "cms", но поверь, всё действительно плохо. Может стоит подумать о том, чтобы не заниматься этим или хотя-бы начать чему-то учиться?
 
Обновил шапку: выложил cms.zip, написал инструкцию по установке.


Ну, уже можешь на начало глянуть :)

Пока очень гибкий фреймворк получается, потом и CMS будет.
Щас посмотрим сее чудо!!!
Вот ето и все??? Токо надпись и писец)
 
Да согласен братан продолжай работать я жду новой версии !!!!
 
Шутка такая, да? Это же мусор...
 
я со своими знаниями сомневаюсь что напишу cms сам. :(
ну раз ты считаешь что тебе твоих знаний хватит... :coffee: то удачи тебе, что еще сказать :)
 
Да блин что вы накинулись сразу, это ж было чтоб тему не закрыли и времени я на это потратил от силы часа два, все будет, только позже... Москва тоже не сразу строилась.

В общем сделал что-то вроде рефакторинга, теперь код соответствует стилю ООП (в общих чертах);доработал шаблонизатор; поправил баг в демонстрационном плагине;пришлось все-таки добавить конфиг для ядра (скорее шаблонизатора); ну и там ещё мелочи всякие...
 
Последнее редактирование:
Всё по прежнему плохо.
Заметил одну важную вещь... Ты не знаешь, как работают регулярные выражения в следствии чего лепишь ерунду. Собственно как и всё то из чего состоит этот "движок".
Рассказать, что будет, если я вместо тега, например, [hello][/hello], напишу [<script>alert('code')</script>][/<script>alert('code')</script>]?

Здесь не форум php программистов, следовательно, кроме определенной части людей на этом форуме, тебе никто не поможет, более того закидают какашками за плохой код и еще долго будут помнить об этом, а это как-никак репутация.
Если не хочешь портить репутацию, то стоит дать свой код на любом php форуме и попросить подсказать, что как и где исправить. Или хотя бы кому-нибуть из знающих на этом форуме в ЛС.
 
Всё по прежнему плохо.
Заметил одну важную вещь... Ты не знаешь, как работают регулярные выражения в следствии чего лепишь ерунду. Собственно как и всё то из чего состоит этот "движок".
Рассказать, что будет, если я вместо тега, например, [hello][/hello], напишу [<script>alert('code')</script>][/<script>alert('code')</script>]?

Здесь не форум php программистов, следовательно, кроме определенной части людей на этом форуме, тебе никто не поможет, более того закидают какашками за плохой код и еще долго будут помнить об этом, а это как-никак репутация.
Если не хочешь портить репутацию, то стоит дать свой код на любом php форуме и попросить подсказать, что как и где исправить. Или хотя бы кому-нибуть из знающих на этом форуме в ЛС.
Вообще, я не использую теги типа [hello][/hello], у меня просто [hello] считается тегом, это первое. Второе: при использовании тега [<script>alert('code')</script>] он будет просто вырезан из шаблона, сейчас даже попробую подставить это в шаблон.
Собсно, как я и писал выше: никого сообщения от браузера не получил, ну и при просмотре кода страницы на месте "[<script>alert('code')</script>]" ничего нет, все из-за того, что я перебираю регулярными выражениями все теги и по очереди обрабатываю каждый, так что улетела твоя "какашка" мимо.

------
А, да, забыл написать куда же пропал этот скрипт. В общем если не удается найти чем обработать тег, то он просто заменяется на пустоту ("" или null)
 
Последнее редактирование:
Ага-ага, точно
1c39e724.png
 
Поменял ссылку в конфиге, который открыт для всех желающих
http://SSMaker.ru/5f660770.png
И все файлы, которые не php и не .htaccess может прочитать пользователь, если только сам .htaccess не блокирует к ним доступ.
 
Поменял ссылку в конфиге, который открыт для всех желающих
http://SSMaker.ru/5f660770.png
И все файлы, которые не php и не .htaccess может прочитать пользователь, если только сам .htaccess не блокирует к ним доступ.
Мы же говорили о тегах, а тут ini-файл, редактировать который может только админ. Отрыт для всех желающих же только для чтения, там пока ничего важного нету, типа данных подключения к БД, как будет так прикрую всю папку cms.
ini обрабатываются не мной, а parse_ini_file это одна из функций php, так к сведению.
 

Поделиться этой страницей

Назад
Верх