Ejemplo n.º 1
0
 /**
  *
  * @param Container $container
  * @param Environment $environment
  */
 public function __construct(Container $container, Environment $environment)
 {
     $this->container = $container;
     $this->environment = $environment;
     $this->setPatternPath('/vendor/itephp/framework/pattern/migrate.txt');
     $this->setSavePath('/config/migrate.' . $this->environment->getName() . '.txt');
     $this->setStagePath('/src/Migrate');
 }
Ejemplo n.º 2
0
 /**
  *
  * @param Request $request
  * @param Response $response
  */
 public function render(Request $request, Response $response)
 {
     if ($this->environment->getName() !== 'test') {
         header('HTTP/1.1 ' . $response->getStatusCode() . ' ' . $response->getStatusMessage());
         foreach ($response->getHeaders() as $name => $value) {
             header($name . ': ' . $value);
         }
     }
     echo (string) $response->getContent();
 }
Ejemplo n.º 3
0
 /**
  *
  * @param Response $response
  */
 private function setHeaders(Response $response)
 {
     if ($this->environment->getName() === 'test') {
         return;
     }
     header('HTTP/1.1 ' . $response->getStatusCode() . ' ' . $response->getStatusMessage());
     header('Content-type: application/json');
     foreach ($response->getHeaders() as $name => $value) {
         if ($name != 'content-type') {
             header($name . ': ' . $value);
         }
     }
 }
Ejemplo n.º 4
0
 /**
  * Init framework config
  */
 private function initConfig()
 {
     //config structure
     $structureConfig = new ConfigBuilder();
     $xmlReader = new XmlFileReader($this->environment->getConfigPath() . '/structure.xml');
     $structureConfig->addReader($xmlReader);
     $structureNode = new ConfigBuilderNode('structure');
     $structureNode->addAttribute('class');
     $structureConfig->addNode($structureNode);
     $structureContainer = $structureConfig->parse();
     $xmlReader = new XmlFileReader($this->environment->getConfigPath() . '/' . $this->environment->getName() . '.xml');
     $importConfig = new ConfigBuilder();
     $importConfig->addReader($xmlReader);
     //config import
     $importNode = new ConfigBuilderNode('import');
     $importNode->addAttribute('file');
     $importConfig->addNode($importNode);
     $importContainer = $importConfig->parse();
     //config main
     $mainConfig = new ConfigBuilder();
     foreach ($importContainer->getNodes('import') as $importNode) {
         /**
          * @var ConfigContainer $importNode
          */
         $xmlReader = new XmlFileReader($this->environment->getConfigPath() . '/' . $importNode->getAttribute('file'));
         $mainConfig->addReader($xmlReader);
     }
     foreach ($structureContainer->getNodes('structure') as $structureNode) {
         /**
          * @var ConfigContainer $structureNode
          */
         $className = $structureNode->getAttribute('class');
         /**
          * @var Structure $structureObj
          */
         $structureObj = new $className();
         $structureObj->doConfig($mainConfig);
     }
     $this->config = new Config($mainConfig->parse());
 }