За последние 24 часа нас посетили 22037 программистов и 1660 роботов. Сейчас ищут 1109 программистов ...

Создаю новый движок (CMS/CMF) на PHP5

Тема в разделе "Решения, алгоритмы", создана пользователем d1gi, 24 май 2009.

  1. d1gi

    d1gi Активный пользователь

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    собсна сабж :) решил сделать проектик опенсорцным, вдруг получится ;)

    вчера поднял вики http://digi.org.ru/engine_wiki/ тутже ссылка на форум и на текущий дистрибчик.

    если кому интересно, предлагаю объединяться и по маленьку создавать коммунити ;)

    ЗЫ: требования к возможностям движка изначально ставились по максимуму: гибкий ЧПУ, мультиязычность, мультидоменность, мультисайтовость, полное отделение данных от представления, многоуровневое кеширование, очень гибкая система разраничения прав пользователей и т.д. и т.п....
     
  2. Alost

    Alost Активный пользователь

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    d1gi
    Не в коем случае не в обиду, но чем он лучше других?
     
  3. d1gi

    d1gi Активный пользователь

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    хороший вопрос ;) идея создания собственного движка родилась, когда другие перестали устраивать чем либо... да и навязчивая идея делать любые сайты на едином движке, не важно какие у него требования... да еще и чтобы в любом случае быстро работало и скорость разработки была высокая :) вот сложил всё в месте и начал рождаться этот движок :)

    однозначно ответить на вопрос "чем именно лучше других" не могу ответить, знаю, что достоинств у него больше чем недостатков.... и есть ощущение, что со временем можно и практически все недостатки ликвидировать ;)

    потенциал у движка есть и он хороший ;)) главное понять архитектуру модели т.е. каркас на основе дерева папок, подключаемые модули в эти папки и их наследование в глубину... на мой взгляд очень красивая и гибка модель :)
     
  4. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Похоже, скоро мир увидит три мильярда шессот писят мильёнов восимсот тысяч первую CMS ...
     
  5. Apple, Богу - Богово. Кесарю - кесарево!! )))
     
  6. d1gi

    d1gi Активный пользователь

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    Да, увидит :)) ничего плохого в этом нету :)
     
  7. Хотел посмотреть. Скачал. Распаковал. Лопатить хуеву тучу неизвестных мне настроек в разных файлах конфигах — не тру ваще. Забил. Удалил.
     
  8. d1gi

    d1gi Активный пользователь

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    :) дело личное :)) из настроек надо прописать только домен, и подключение к БД в config.inc... а скриптик положить в папку JEngine :)
    в будущем, конечно будет здорово сделать инсталлятор :) будет вообще приятно :)
     
  9. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Так, всем флудерастам цыц. По теме товарищи, по теме.
     
  10. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    PHP:
    1.  
    2. <?php
    3. // ....
    4.  
    5. if (ini_get('register_globals') == 1) {
    6.     die('Turn OFF register_globals !!!');
    7. }
    И какой понт так приказывать и так орать на людей?
    Не говоря уж о несуразности убийства скрипта.

    Щас ещё пороюсь.

    Зачем объявлять абстрактный класс, который ко всему прочему реализует интерфейс?
    Если я наследую абстрактный класс, реализующий описанный ранее интерфейс, какой смысл в том, что он вообще абстрактный? Для красоты?
     
  11. d1gi

    d1gi Активный пользователь

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    согласен. на идеальность кода не претендую. готов выслушивать и вопрощать в жизнь любые замечания :)

    ЗЫ: щас проверил на линухе, там в 1112 строчке в Engine.php "admin/" написан с маленькой буковки :( по этому во всплывающем околошке редактора вылетала ошибка :( надо заменить на "Admin". на сайте дистриб уже обновил.
     
  12. d1gi

    d1gi Активный пользователь

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    в принципе согласен, просто изначально думал в классах самих модулей будут такие функции, которых нет в классе Module, но которые будут необходимы... сейчас это скорее пережиток :) хотя "API" для модулей еще несформировался окончательно и возможно надо будет вписать какие-нить функции в интерфейс, но видимо это будут явно не те, что сейчас прописаны ;)
     
  13. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Apple
    Ну и чего тут такого? Учитывая, что в пхп6 этого дела вообще не будет, всё правильно, пора от этого рудимента отказываться, в том числе и такими средствами - тыкать носом.
     
  14. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Ну нет, тут не соглашусь.
    Движок надо изначально планировать на работу без включенных register globals, но, при этом, не делать таких несуразных конструкций.
    Если вдруг эта опция включена, то почему обязательно надо прерывать работу?
    Всё равно все данные должны быть предсказуемыми и проверенными, ни одна переменная или конструкция не должна ускользнуть из виду.

    Во-вторых, уведомлять можно повежливее.
     
  15. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Apple
    Согласен с тобой, но я бы по этому поводу не парился ;)
     
  16. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    возможно эта CMS лучше для ТС потому как разрабатывал ее он.
     
  17. Учитывая, что корректно написаный скрипт работает корректно ВНЕ ЗАВИСИМОСТИ от регистер_глобалсов, это свинство, ящитаю.
    «Художник пишет не то, что видит, а то, что будут видеть другие.» Поль Валери
     
  18. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Олег, это смотря с какой стороны на это посмотреть. Я согласен, что надо делать так, чтобы регистр глобалс не был проблемой. Но если взглянуть на это с другой стороны?! Есть мегаодмин, который через жопу настроил сервак и врубил регистр глобалс, поставил кучу дырявого софта и тащица от этого. Вот таким это в тык и даст. Вон тут была недавно тема где админы фтп что ли отрубили или ещё чего, бред же.

    Короче ладно, замяли вопрос...
     
  19. d1gi

    d1gi Активный пользователь

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    регистр глобалс должен быть выключен и это просто правильно :) а JEngine будет работать и в с включенным т.к. всё равно всё в классы запаковано...

    еще вспомнил, что die('Turn OFF register_globals !!!'); не я придумал, а подсмотрел в каком-то другом движке и решил к себе копипастнуть :)
     
  20. Если ты не пользуешься авторегистрацией переменных и инициализируешь все переменные, ПЕРЕКРЫТЬ ИХ ВНЕ ЗАВИСИМОСТИ ОТ НАСТРОЙКИ РЕГИСТЕР ГЛОБАЛС НЕЛЬЗЯ.
    Поведение КОРРЕКТНО написаного скрипта с КОРРЕКТНО инициализированными переменными ОДИНАКОВО при любых настройках регистер глобалс.
    Нихрена не замяли.
     
  21. Как раз таки - «я не все переменные инициализирую, поэтому на всякий случай при включенном регистер_глобался работать не буду» - это и есть самое настоящее ламерство. А вовсе не пользование им по причине ебанутых учебников.
     
  22. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Замяли замяли, смотри сам, вопрос то был в чём, что всё должно корректно работать и так и так. Дык оно и работает:
     
  23. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Шаблоны жгут
    Псы: никогда не парился =)
    Код (Text):
    1. php_flag register_globals off
     
  24. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Вопрос к автору, какие действия я должен проделать чтобы:
    1. Добавить новый блок(например голосование) на все страницы
    2. Чтобы добавить новый блок на определённую страницу(например только на категории)
    3. Что я должен сделать чтобы добавить новый модуль, и чтобы он был в админке