/** * @return Controller */ protected function makeControllerChain() { $this->controllerName = self::DEFAULT_CONTROLLER; if ($this->request->hasAttachedVar('area') && $this->request->getAttachedVar('area') && ClassUtils::isClassName($this->request->getAttachedVar('area'))) { $this->controllerName = $this->request->getAttachedVar('area'); } return new $this->controllerName(); }
public function import($scope) { if (!($result = parent::import($scope))) { return $result; } if (!ClassUtils::isClassName($scope[$this->name]) || !$this->classExists($scope[$this->name]) || $this->ofClassName && !ClassUtils::isInstanceOf($scope[$this->name], $this->ofClassName)) { $this->value = null; return false; } return true; }
public function testIsClassName() { $this->assertFalse(ClassUtils::isClassName(null)); $this->assertFalse(ClassUtils::isClassName('')); $this->assertFalse(ClassUtils::isClassName(0)); $this->assertFalse(ClassUtils::isClassName('0')); $this->assertTrue(ClassUtils::isClassName('A0')); $this->assertTrue(ClassUtils::isClassName('_')); $this->assertTrue(ClassUtils::isClassName('_1')); $this->assertTrue(ClassUtils::isClassName('Correct_Class1')); }
private function fromState() { if ($this->checkKeyword($this->tokenizer->peek(), 'from')) { $this->tokenizer->next(); $class = $this->tokenizer->next(); $className = $this->getTokenValue($class, true); if (!$this->checkIdentifier($class) || !ClassUtils::isClassName($className)) { $this->error('invalid class name:', $className); } if (!class_exists($className, true)) { $this->error('class does not exists:', $className); } if (!ClassUtils::isInstanceOf($className, 'DAOConnected')) { $this->error('class must implement DAOConnected interface:', $className); } $this->oqlObject->setDao(call_user_func(array($className, 'dao'))); } else { $this->error("expecting 'from' clause"); } return self::WHERE_STATE; }
<?php /** * $Id$ **/ require '../../../config.inc.php'; define('DEFAULT_CONTROLLER', 'main'); try { $request = HttpRequest::create()->setGet($_GET)->setPost($_POST)->setCookie($_COOKIE)->setServer($_SERVER)->setFiles($_FILES); $controllerName = DEFAULT_CONTROLLER; RouterRewrite::me()->setBaseUrl(HttpUrl::create()->parse(PATH_WEB))->addRoute('default', RouterTransparentRule::create(':area/*')->setDefaults(array('area' => DEFAULT_CONTROLLER)))->route($request); if ($request->hasGetVar('area') && ClassUtils::isClassName($_GET['area']) && defined('PATH_CONTROLLERS') && is_readable(PATH_CONTROLLERS . $request->getGetVar('area') . EXT_CLASS)) { $controllerName = $request->getGetVar('area'); } elseif ($request->hasAttachedVar('area') && ClassUtils::isClassName($request->getAttachedVar('area')) && defined('PATH_CONTROLLERS') && is_readable(PATH_CONTROLLERS . $request->getAttachedVar('area') . EXT_CLASS)) { $controllerName = $request->getAttachedVar('area'); } $controller = new $controllerName(); $modelAndView = $controller->handleRequest($request); $view = $modelAndView->getView(); $model = $modelAndView->getModel(); $prefix = PATH_WEB . '?area='; if (!$view) { $view = $controllerName; } elseif (is_string($view) && $view == 'error') { $view = new RedirectView($prefix); } elseif ($view instanceof RedirectToView) { $view->setPrefix($prefix); } if (!$view instanceof View) { $viewName = $view; $view = PhpViewResolver::create(PATH_TEMPLATES, EXT_TPL)->resolveViewName($viewName);