/** * Method that prepares the Business Logic * checking if all checks passes * * Return if passed or not. * * @return bool */ public function prepare() { if (($invalid = RaiseManager::getHandler('request')->checkInvalidParameters()) !== true) { $this->setMessage('UnexistentArgument', ['argument' => $invalid]); } return $invalid === true; }
/** * Set RAISe Requested Resource * Resource Model by the HTTP Request Requested Uri * * @note A string manipulation is applied since php's * function strstr will return null if the desired match * isn't present. */ public function setResource() { /* get resource string from requested url */ $resourceString = strtolower(str_replace('/', '', $this->getRequest()->getRequestUri())); /* stores resource model applying the string manipulation */ $this->requestedResource = RaiseManager::getFactory('resource')->get(strpos($resourceString, '?') !== false ? strstr($resourceString, '?', true) : $resourceString); }
/** * Execute's MySQL Query with the Instruction Factory * Generated Statement */ public function execute() { $this->statement = DatabaseManager::getInstance()->query(RaiseManager::getFactory('instruction')->getInstruction(), RaiseManager::getFactory('instruction')->getStatement()); switch (RaiseManager::getHandler('request')->getRequest()->getMethod()) { case 'GET': $this->response = $this->statement->fetchAll(PDO::FETCH_OBJ); break; case 'POST': $this->lastInsertId = DatabaseManager::getInstance()->getLastInsertId(); break; } }
/** * Executes the Instruction if does'nt has been executed. * And Return it. * * @return Insert|Select|Update */ private function execute() { if ($this->instruction === null) { $this->type = RaiseManager::getHandler('request')->getRequest()->getMethod(); $this->query = RaiseManager::getHandler('request')->getRequest()->query; $this->resource = RaiseManager::getHandler('request')->getResource(); $this->instruction = $this->setCriteria(); } return $this->instruction; }
/** * Get the HTTP Request Interface * * @return Request */ public function getRequest() { return RaiseManager::getHandler('request')->getRequest(); }
/** * Used to set the HTTP Response Content * as an RAISe Message (object) * * @param string $message Message Name * @param array $templateEngine */ public function setMessage($message, array $templateEngine = array()) { if (!$this->messageDefined) { $this->getResponse()->setData(RaiseManager::getFactory('message')->get($message, $templateEngine)->__getResult()); $this->messageDefined = true; } }