public static function getRequestControllerClass()
 {
     $ajax = Router::isAjaxRequest();
     $action = Router::isActionRequest();
     $app = Router::isAppRequest();
     $page = Router::isPageRequest();
     $tools = Router::isToolsRequest();
     $editor = Router::isEditorRequest();
     $section = Router::isSectionRequest();
     $sandbox = Router::isSandboxRequest();
     if ($page && $ajax) {
         $r = 'Components\\Ajax\\pages\\' . str_replace('/', '\\', $page) . '\\' . $ajax;
     } elseif ($page && $action) {
         $r = 'Component\\Action\\pages\\' . str_replace('/', '\\', $page) . '\\' . $action;
     } elseif ($page) {
         $r = 'Component\\pages\\' . str_replace('/', '\\', $page);
     } elseif ($section && $ajax) {
         $r = 'Component\\Ajax\\sections\\' . str_replace('/', '\\', $section) . '\\' . $ajax;
     } elseif ($section && $action) {
         $r = 'Component\\Action\\sections\\' . str_replace('/', '\\', $section) . '\\' . $action;
     } elseif ($tools && $ajax) {
         $r = 'Component\\Ajax\\tools\\' . str_replace('/', '\\', $tools) . '\\' . $ajax;
     } elseif ($tools && $action) {
         $r = 'Component\\Action\\tools\\' . str_replace('/', '\\', $tools) . '\\' . $action;
     } elseif ($editor && $ajax) {
         $r = 'Component\\Ajax\\editor\\' . $ajax;
     } elseif ($editor && $action) {
         $r = 'Component\\Ajax\\editor\\' . $action;
     } elseif ($app && $ajax) {
         $r = 'Component\\Ajax\\app\\' . $ajax;
     } elseif ($app && $action) {
         $r = 'Component\\Action\\app\\' . $action;
     } elseif ($sandbox) {
         return null;
     } else {
         $r = 'Layout\\pfcEditor';
     }
     return '\\pfcEditor\\' . preg_replace_callback('/([a-zA-Z]){1}(-){1}([a-zA-Z0-9]){1}/', function ($matches) {
         return $matches[1] . strtoupper($matches[3]);
     }, $r);
 }