Использование плагинов в компоненте.
  • GoDrGoDr Июль 2011
    я пишу компонент который использует плагины. Если честно, то пока не совсем понял как их использовать. Т.е. Есть объект, а плагины представляют его характеристики, например, цвет, размер, фото и т.п.
    Т.е. чем-то похоже на JoiBOSS. В принципе по его подобию и делаю. Но ранее при подключении плагина в этом же файле и создавался объект класса расширения $qqq['qwerty'] = new PluginQwerty()
    Сейчас такого нет.. Вот и хочется услышать механизм работы с расширениями... если это не трудно :)
  • ArkadiyArkadiy Июль 2011
    Если это твой компонент, то ты волен поступать как хочешь, можешь проинклюдить класс, а затем объявить новый экземпляр, можешь сделать функцию, которая будет инклюдить и объявлять (чтобы лишнего не писать каждый раз). Вот например функция босса, которая подключает определенный плагин и возвращает экземпляр класса

    /**
    * @static
    * @param $directory - каталог
    * @param $name - название класса плагина
    * @param string $folder - тип/папка плагина
    * @return - возвращает объект класса плагина.
    */
    public static function get_plugin($directory, $name, $folder='fields') {
    $bossPlugins = array();
    $path = JPATH_BASE . "/images/boss/$directory/plugins/$folder/$name/";
    require_once($path . '/plugin.php');
    $bossPlugin = new $name($directory);
    return $bossPlugin;
    }
  • GoDrGoDr Июль 2011
    а ты из каких соображений пошёл по этому пути.. раньше же по другому было?
  • ArkadiyArkadiy Июль 2011
    А где раньше? Да и зачем каждый раз писать объявление экземпляра, когда можно один раз написать, а потом пользоваться?
  • GoDrGoDr Июль 2011
    в версии 1.0.8.. А я вот и ищу самый оптимальный вариант.. Мне вот тоже нужно организовать отображение этих плагинов в конкретных позициях, но пока что-то не соберу мысли во едино как это сделать.. Подскажи ;)
  • ArkadiyArkadiy Июль 2011
    1. Загрузил класс плагина любым способом, кстати они не отличаются ничем, просто мой более краток.
    2. в нужной позиции вызвал нужную функцию плагина. Если нужно гибче, то это изучать код босса.
  • GoDrGoDr Июль 2011
    уже изучаю :) мне понравилось как в нём это реализовано.. В других системах как-то запутано

Добро пожаловать!

Похоже, что Вы здесь впервые. Если хотите поучаствовать, нажмите на одну из этих кнопок!

Войти Зарегистрироваться

В теме отметились