Example #1
0
 /**
  * @param $requestUri
  * @param string $method
  * @param array $post
  * @return Application
  */
 public function run($requestUri, $method = 'GET', array $post = [])
 {
     $_SERVER['REQUEST_URI'] = $requestUri;
     $_SERVER['REQUEST_METHOD'] = $method;
     $_POST = $post;
     if ($this->getCwd()) {
         $cwd = getcwd();
         chdir($this->getCwd());
     }
     $puppy = new Application(new Config($this->getEnv()), Request::createFromGlobals());
     $puppy->initModules((new ModuleFactory())->createFromApplication($puppy));
     $puppy->run();
     unset($_SERVER['REQUEST_URI']);
     unset($_SERVER['REQUEST_METHOD']);
     $_POST = [];
     if (isset($cwd)) {
         chdir($cwd);
     }
     return $puppy;
 }
Example #2
0
<?php

use Puppy\Application;
use Puppy\Config\Config;
use Puppy\Module\ModuleFactory;
use Symfony\Component\HttpFoundation\Request;
require_once '../vendor/autoload.php';
/**
 * Puppy runs for you with happiness!
 *
 * @author Raphaël Lefebvre <*****@*****.**>
 * @doc https://github.com/Raphhh/puppy
 */
chdir(dirname(__DIR__));
$puppy = new Application(new Config(getenv('APP_ENV')), Request::createFromGlobals());
$puppy->initModules((new ModuleFactory())->createFromApplication($puppy));
$puppy->run();
//good dog! :)
 public function testInitModulesWithProxy()
 {
     $this->assertTrue(empty($GLOBALS['module_mock_init_1']));
     $this->assertTrue(empty($GLOBALS['module_mock_init_2']));
     $application = new Application(new \ArrayObject(), new Request());
     $application->initModules(new ModulesLoaderProxy(new ModulesLoader(), new Pool()));
     $this->assertFalse(empty($GLOBALS['module_mock_init_1']));
     $this->assertFalse(empty($GLOBALS['module_mock_init_2']));
     unset($GLOBALS['module_mock_init_1']);
     $this->assertTrue(empty($GLOBALS['module_mock_init_1']));
     unset($GLOBALS['module_mock_init_2']);
     $this->assertTrue(empty($GLOBALS['module_mock_init_2']));
 }