/** * Generate a cache ID based on action keys. * * @param OutgoingMessage $action The action * @param string $prefix Cache ID prefix * * @return string */ protected function generateCacheId(OutgoingMessage $action, $prefix = '') { $removeKeys = ['actionid']; $keys = $action->getKeys(); $keys = array_diff_key($keys, array_flip($removeKeys)); $variables = $action->getVariables(); $variables = is_array($variables) ? $variables : []; ksort($keys); ksort($variables); return md5($prefix . json_encode(array_merge($keys, $variables))); }