* @package Vhs * @subpackage ViewHelpers\Once */ class InstanceViewHelper extends AbstractOnceViewHelper { /** * @return string */ protected function getIdentifier() { if (TRUE === isset($this->arguments['identifier']) && NULL !== $this->arguments['identifier']) { return $this->arguments['identifier']; } $request = $this->controllerContext->getRequest(); $identifier = implode('_', array( $request->getControllerActionName(), $request->getControllerName(), $request->getPluginName(), $request->getControllerExtensionName() )); return $identifier; } /** * @return void */ protected function storeIdentifier() { $index = get_class($this); $identifier = $this->getIdentifier(); if (FALSE === is_array($GLOBALS[$index])) { $GLOBALS[$index] = array(); } $GLOBALS[$index][$identifier] = TRUE; } /** * @return boolean */ protected function assertShouldSkip() { $index = get_class($this); $identifier = $this->getIdentifier(); return isset($GLOBALS[$index][$identifier]); } }