Пример #1
0
 /**
  * @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;
 }