191  /  331

Способы передачи данных между компонентами

Просмотров: 5123 (Статистика ведётся с 06.02.2017)
Дата последнего изменения: 11.09.2015

Способы передачи данных между компонентами:

  1. Глобальные переменные, Например:
    $GLOBALS['mycomponent_variable'] = $arResult["ID"];

    Кроме GLOBALS можно использовать $_SESSION при условиях, что:

    • данные небольшого объема;
    • сразу после передачи данные будут удалены из $_SESSION, так как в противном случае будут жить, пока сессия жива.
  2. Класс обертка, например:
    Class GarbageStorage{
       private static $storage = array();
       public static function set($name, $value){ self::$storage[$name] = $value;}
       public static function get($name){ return self::$storage[$name];}
    }
    соответственно, использование:
    \GarbageStorage::set('MyCustomID', $arResult["ID"]); #установить значение
    \GarbageStorage::get('MyCustomID'); #получить значение

Выбор способа зависит от компонентов и от того что именно вы хотите передать в другой компонент и есть ли необходимые данные в некешируемых файлах (речь идет о component_epilog.php). Использование класса обертки сложнее, но гораздо правильнее, особенно в свете создаваемого нового ядра.


21
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии