360  /  382
Справочник

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

Просмотров: 54607
Дата последнего изменения: 24.01.2024
Роберт Басыров
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
1
2
3
4
5
Недоступно в лицензиях:
Ограничений нет

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

  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). Использование класса обертки сложнее, но гораздо правильнее, особенно в свете создаваемого нового ядра.


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

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