/** * Construtor da classe, utilizado para realizar o bootstrap de forma automática. */ public function __construct(Request $requestObject) { $this->request = $requestObject; $this->log = Log::getInstance(); $this->defineRoutes(); $this->setController(); $this->setAction(); $this->setUrlParams(); self::$instance =& $this; }
public function __construct() { self::$instance =& $this; $this->logger = Log::getInstance(); // Classe de user agent: $this->userAgentParser =& UserAgent::getInstance(); // Definindo o tipo de requisição: $this->setRequestMethod(); // Definindo a página anterior do site: $this->setReferrer(); // Definindo a uri (tudo que existe depois do domínio da aplicação) $this->setUri(); // Setando os parâmetros dentro do array de segmentos, aí ainda temos a uri normal guardada ! $this->explodeSegments(); // Setando os parâmetros da url (diferente dos segmentos, retiramos o controller e a action, saca?) xD; $this->setUrlParams($this->segments); // Setando parâmetros recebido via método POST $this->setPostValues(); }
public function __construct() { self::$instance = new \PDO('dsn', 'username', 'password'); $logger =& \Melyssa\Logger\Log::getInstance(); $logger->debugMessage("Database class initialized!"); }
/** * Application startup * * Esse método é chamado após o bootstrap ser concluído.<br> * Requisitamos e instanciamos o controller definido no bootstrap.<br> * E o router se encarrega de todo o trabalho daqui pra frente.<br> * Só voltamos ao método dispatch() depois que tudo estiver finalizado */ public static function dispatch() { if (self::$initialized === false) { self::initialize(); try { $router = new Router(new Request()); $controller = $router->getController(); $action = $router->getAction(); $controller->initPage(); call_user_func_array(array($controller, $action), array()); $controller->closePage(); Log::saveToFile(true); return; } catch (Exception $e) { $e->getError(); } } exit("System already initialized, second atempt ignored !"); }
private function setUri() { $uri = isset(filter_input(INPUT_SERVER, URI_IDENTIFIER)) ? filter_input(INPUT_GET, URI_IDENTIFIER) : ''; $this->uri = $uri; Log::debug("Uri set to: " . $this->uri); }
private function setAction() { if ($this->request->getSegment(1) == null or $this->request->getSegment(1) == '') { $this->setDefaultAction(); } else { $this->action = $this->request->getSegment(1); } $actionRealName = strtolower($this->action) . 'Action'; Log::debug("Action set to: " . $this->action); if (!method_exists($this->class, $actionRealName)) { $this->method = 'show404'; } else { // o método existe, setamos as configurações da action atual: //$this->actionConfigs = $this->controllerConfigs['callables'][$this->action]; //Verificando se o metodo pode ser chamado diretamente pela url ou é uma função fechada: if (array_key_exists($this->action, $this->controllerConfigs['callables']) and in_array($this->request->getRequestMethod(), $this->controllerConfigs['callables'][$this->action]['methods'])) { $this->method = $actionRealName; $this->actionConfigs = $this->controllerConfigs['callables'][$this->action]; } else { $this->method = 'show404'; } } }
private function setTablet() { if (is_array($this->tablets) and count($this->tablets) > 0) { foreach ($this->tablets as $k => $v) { if (preg_match('|' . preg_quote($k) . '|i', $this->agent)) { $this->isTablet = true; $this->tablet = $v; break; } else { $this->tablet = "Unknown tablet"; } } } else { $this->tablet = "Unknown tablet"; } if ($this->isTablet) { $log = Log::getInstance(); $log->debugMessage("Tablet: " . $this->tablet); } }
private function setUri() { $uriString = filter_input(INPUT_GET, URI_IDENTIFIER); $uri = \is_null($uriString) ? '' : $uriString; $this->uri = $uri; Log::debug("Uri set to: " . $this->uri); }