За последние 24 часа нас посетили 22366 программистов и 1166 роботов. Сейчас ищет 731 программист ...

mvc система с поддержкой плагинов

Тема в разделе "Прочие вопросы по PHP", создана пользователем irobot, 15 ноя 2014.

  1. irobot

    irobot Новичок

    С нами с:
    15 ноя 2014
    Сообщения:
    88
    Симпатии:
    0
    О, спасибо. Еще хотел узнать, можно ли для cms использовать sqlite?
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Можно, но не нужно. Бери нормальную базу.
     
  3. irobot

    irobot Новичок

    С нами с:
    15 ноя 2014
    Сообщения:
    88
    Симпатии:
    0
    Ясно. А чем sqlite не нормальная база? Нравится в ней то, что просто устанавливать. Сам однако думаю, что взломать её намного легче, чем mysql например, я прав?
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Используется для всякой мелочи на пример на телефоне, Skype и т.д.
    Для сайта не подойдет, не для этого она создавалась.
     
  5. deblogger

    deblogger Новичок

    С нами с:
    11 июл 2013
    Сообщения:
    200
    Симпатии:
    0
    Ну как обычно, начал за здравие, кончил за sqlite.

    пользователь чего? Вашего несуществующего framework, или пользователь сайта загружает плагин на сайт?

    Напишите сперва FW, а там уже будет видно как к нему подключиться.
     
  6. irobot

    irobot Новичок

    С нами с:
    15 ноя 2014
    Сообщения:
    88
    Симпатии:
    0
    Пользователь сайта(администратор) загружает плагин.

    Добавлено спустя 57 секунд:
    А так, если изучать как работают фреймворки, с какого начать?
     
  7. metadon

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

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Начни с Yii довольно понятный
     
  8. irobot

    irobot Новичок

    С нами с:
    15 ноя 2014
    Сообщения:
    88
    Симпатии:
    0
    Ещё в процессе возник вопрос, по плагинам. Плагины регистрируют, что готовы обработать события. Таким образом:
    Код (Text):
    1. $PLugMeneger->register(new eventHook("event", "classError", "methodError")
    И в index.php я в цикле подключаются вообще все файлы контроллеров плагинов. В независимости от типа пользователя. Это же нехорошо? Тогда как, отдельно создавать файл у плагина, в котором прописаны регистрации событий и подключать только эти файлы, если произошло событие, то подключить плагин, думаю так лучше?
     
  9. metadon

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

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Авто загрузка классов
     
  10. irobot

    irobot Новичок

    С нами с:
    15 ноя 2014
    Сообщения:
    88
    Симпатии:
    0
    Ещё хотел спросить. Так что же лучше бандлы в симфонии 2, или хуки вордпресс?
    Сам как вы понимаете сделал ядро на основе хуков, теперь думаю, правильно ли поступил, ведь разные плагины могут регистрировать одинаковое событие, и какой из них выбрать? Тот, что последний в массиве? В симфонии такой проблемы возникнуть не должно, так?

    Я сейчас разбираюсь в системе основанной на бандлах. Понимаю её так. Класс наследует какой либо другой класс или другой бандл, и переопределяет его поведение. Я правильно понял? Просто информации как это все работает не так уж много.
     
  11. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    В WordPress для этого есть приоритеты. Также можете сделать, чтоб цепочка выполнения прерывалась после успешной отработки события. Про symphony лично я ничего не знаю, не писал на нём
     
  12. metadon

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

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Информации полно в книгах по ООП.

    Вся борьба идёт за
    безопасность,
    повторное использование кода,
    скорость,
    простота расширения,
    простота поддержки,
    отсутствие зависимости
    и думаю кто-то подправит или добавить ещё что-то.

    Лучшее можно выбрать когда у тебя будет конкретная задача и реальные данные, так как весь код это алгоритм к которому есть требование:
    например
    использование cpu
    использование ram
    параллельность и тд.

    Читай теорию, вот про данные например https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B ... %D0%B0_CAP
    можно сделать только два из трёх, по этому и нужна конкретная задача, чтобы выбрать, тот алгоритм который будет лучше в конкретной задачи.
     
  13. irobot

    irobot Новичок

    С нами с:
    15 ноя 2014
    Сообщения:
    88
    Симпатии:
    0
    А в вордерессе, есть ли какой то механизм, который позволять переопределить события, которых нет в системе?, то есть те, что происходят в __call. Это же целиком работа плагина. Делать хуки в самом плагине? Это уже смешно. Или это делается только за счёт приоритетов? Делаем приоритет нового плагина больше, другого, который ждёт то же это событие.
     
  14. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Ну что значит, которых нет в системе? Кто мешает вам сделать так:
    Код (Text):
    1. class Application {
    2.    public function __call($name, array $params) {
    3.        $event_dispatcher = Dispatcher::instance();
    4.        $event_dispatcher->trigger_event("$name_called", $params);
    5.    }
    6. }
    Это, конечно, псевдокод, но логика должна быть понятна
     
  15. irobot

    irobot Новичок

    С нами с:
    15 ноя 2014
    Сообщения:
    88
    Симпатии:
    0
    Вы не поняли. Допустим на системный метод я вешаю хук. А плагин, который выполняется в __call как либо переопределить можно только с помощью другого плагина с большим приоритетом?
     
  16. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Ну да. При этом надо, чтоб при первом успешном выполнении спуск по цепочке прекращался.
     
  17. irobot

    irobot Новичок

    С нами с:
    15 ноя 2014
    Сообщения:
    88
    Симпатии:
    0
    А, все ясно. Спасибо.
     
  18. irobot

    irobot Новичок

    С нами с:
    15 ноя 2014
    Сообщения:
    88
    Симпатии:
    0
    Сейчас все чаще говорят о october cms. Довольно таки интересная система. Как там реализована система плагинов? Cms вроде бы на laravel.
     
  19. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Скачайте и почитайте, в чём проблема?
     
  20. irobot

    irobot Новичок

    С нами с:
    15 ноя 2014
    Сообщения:
    88
    Симпатии:
    0
    А вы слышали про эту cms? Так вроде начал изучать посмотрел видео обзор системы. Там говорится что типа система уникальна, и ничего подобного не существует. А хоть что там такого? Может я что-то не понял.
     
  21. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    October ещё в бете, т.ч. использовать его можно только для себя, а вообще довольно приятно все сделано, под капотом нормальный фреймворк и хорошее api для админки. Ставку в отличии от джумл и вордпрессов делают не на "всё одним кликом", а на удобную заточку под себя. Через годик думаю можно будет юзать )
     
  22. irobot

    irobot Новичок

    С нами с:
    15 ноя 2014
    Сообщения:
    88
    Симпатии:
    0
    А какое ваше видение современной крутой cms?
     
  23. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    которая приносит прибыль делу
     
  24. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Я сейчас пытаюсь для себя костячок на фреймворке заделать, чтоб можно было под любой проект быстро переделывать. Я просто обнаружил, что, несмотря на то, что я - не самый крутой программист, и прекрасно это осознаю, сайты, которые я делаю на фреймворках работают быстрее намного, чем то, что делается на CMS. Особенно на всяких дорогущих и заумных, типа UMI...
     
  25. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    Чем дороже cms тем она медленнее работает.

    Весь мысл в том, что 90% кода в этих cms это защита от дурака + обработка ошибок и вывод их юзеру.

    У себя в проекте сейчас с тем же сталкиваюсь...

    Вроде тело заплатило 3 копейки за систему, а при загрузке картинки "акуенная пробел елочка пробел которую прислала Лена (тупая кизда#$//'-:;;""^/".bmp) почему то косяк (

    Это абстрактный пример...но реально чем дальше тем больше и больше всевозможных идиотских действий приходится обрабатывать.

    И если изначально кода был метр, за 2 года его уже три (

    Добавлено спустя 11 минут 20 секунд:
    плюс вот еще что: в попытках создать вот такое нечто универсальное "от гандонов до танков" то же свой тупняк, проверь то, подключи это, если этого нет то то сё пятое десятое.

    Универсальных инструментов под любые задачи просто не существует, и все попытки их создать обречены.

    Быстрее всего работает то, что написано под конкретный проект.