vendor/vishev/zf1wrapperbundle/MainlyCode/Zf1WrapperBundle/Controller/DefaultController.php line 26

Open in your IDE?
  1. <?php
  2. namespace MainlyCode\Zf1WrapperBundle\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\HttpKernel\KernelInterface;
  6. use Zend_Registry;
  7. class DefaultController extends AbstractController
  8. {
  9.     private KernelInterface $kernel;
  10.     public function __construct(KernelInterface $kernel)
  11.     {
  12.         $this->kernel $kernel;
  13.     }
  14.     /**
  15.      * index
  16.      *
  17.      * @param string $url
  18.      *
  19.      * @return \Symfony\Component\HttpFoundation\Response
  20.      */
  21.     public function index($url): Response
  22.     {
  23.         // pass Dependency Injection Container
  24.         Zend_Registry::set('dic'$this->container);
  25.         $rootDir   $this->kernel->getProjectDir();
  26.         $bootstrap $this->getParameter('zf1wrapper_bootstrap_path');
  27.         // capture content from legacy application
  28.         ob_start();
  29.         include $rootDir '/' $bootstrap;
  30.         $content ob_get_clean();
  31.         // capture http response code (requires PHP >= 5.4.0)
  32.         if (function_exists('http_response_code') && http_response_code() > 0) {
  33.             $code http_response_code();
  34.         } else {
  35.             $code 200;
  36.         }
  37.         // capture headers
  38.         $headersSent headers_list();
  39.         $headers     = array();
  40.         array_walk($headersSent, function($value$key) use(&$headers) {
  41.             $parts explode(': '$value);
  42.             $headers[$parts[0]][] = $parts[1];
  43.         });
  44.         header_remove();
  45.         return new Response($content$code$headers);
  46.     }
  47. }