Способы передачи данных между компонентами
Способы передачи данных между компонентами:
- Глобальные переменные, Например:
Кроме GLOBALS можно использовать $_SESSION при условиях, что:
- данные небольшого объема;
- сразу после передачи данные будут удалены из
$_SESSION, так как в противном случае будут жить, пока сессия жива. - Класс обертка, например:
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). Использование класса обертки сложнее, но гораздо правильнее, особенно в свете создаваемого нового ядра.