/** * @param string $param * * @return mixed */ private function parseValue($param) { if (strpos($param, '$route.') !== false) { list($type, $path) = explode('.', $param, 2); return \Route::getCurrentRoute()->getParameter($path); } else { if (strpos($param, '$get.') !== false) { list($type, $path) = explode('.', $param, 2); return \Request::get($path); } else { if (strpos($param, '$page.') !== false) { list($type, $path) = explode('.', $param, 2); $page = \Frontpage::getFacadeRoot(); if (method_exists($page, $method = 'get' . ucfirst($path))) { return $page->{$method}(); } } else { if (strpos($param, '$behavior.') !== false) { list($type, $path) = explode('.', $param, 2); /** @var BehaviorPageInterface $behavior */ if (!is_null($behavior = \Frontpage::getBehaviorObject())) { return $behavior->getRouter()->getParameter($path); } } } } } return $param; }