Как правильно организовать загрузку модулей?

Тема в разделе "Как сделать...", создана пользователем Mendel, 22 фев 2010.

Статус темы:
Закрыта.
  1. Mendel

    Mendel

    Регистр.:
    27 янв 2008
    Сообщения:
    217
    Симпатии:
    64
    Дано:
    CMS, в ней есть некий конфиг в котором описывается какие урлы должен обрабатывать какой модуль.
    Колеблюсь между чем-то типа
    PHP:
    new $module_name($url)
    с подгрузкой класса автолоадом и
    PHP:
    require('../mod/'.$module_name.'.tpl');
    main($url);
    (пример схематичен)

    В объектном конечно же можно не через конструктор передавать данные, но все равно как-то оно грязновато... ну и по мелочи - на этапе отладки столкнулся с тем, что лишние возможности запутаться - скопировал тестовый класс в нужное место и получил ошибку - а переименовать то внутри файла я его забыл :)
    Ну и не все программисты достаточно хорошо дружат с ООП синтаксисом.

    У второго варианта тоже не очень все стильно и отходим от ООП.

    Третий вариант - передать данные какому-то классу, туда же скинуть все отфильтрованные на вопрос инъекций данные из пост/гет, и просто приинклюдить нужный файл, а там уже пусть модуль сам разбирается как он будет работать.
    Из минусов здесь только то, что мы никак не можем обратно вернуть результат работы (к примеру факт того признал ли модуль эту ссылку своей или отдать надо 404 или продолжить поиск другого подходящего модуля). Разве что опять таки через некий посредник. В первом варианте можно опросить созданый объект а во втором - вернуть ответ в результате функции main
     
  2. Noikudo

    Noikudo Постоялец

    Регистр.:
    22 июн 2007
    Сообщения:
    112
    Симпатии:
    16
    Первый. От ооп лучше не отходить, если пишешь на ней. Да и красивей как то)
     
Статус темы:
Закрыта.