public function parseRouter() { if (!isset($this->resource['configFilenameRoutes'])) { throw new \Exception("@configFilenameRoutes property is not defined in middleware definitions!", 1); } if (is_null($this->_request)) { throw new \Exception("Request is not defined, try before call parseRequest", 1); } $routes = \Simple\Config\PHP::getScope($this->resource['configFilenameRoutes']); $router = new \Simple\Request\Router($routes); $this->_resources = $router->getResourcesByRequest($this->_request, 1); }
public function testParams() { $_SERVER['REQUEST_URI'] = '/xpto/actionName/param1/param2'; $_SERVER['REQUEST_METHOD'] = 'TEST'; $_SERVER['QUERY_STRING'] = 'foo=1&bar=2'; $request = new \Simple\Request\HTTP($_SERVER, $_REQUEST, $_FILES); $routes = \Simple\Config\PHP::getScope('routes'); $router = new \Simple\Request\Router($routes); $resourcesFromRoute = $router->getResourcesByRequest($request); $this->assertEquals('http://phpunit.test/xpto/actionName/param1/param2', $request->getURL()); $this->assertEquals(array('param1', 'param2', 'foo' => 1, 'bar' => 2), $request->getParams()); }
public function testMiddlewares() { $_SERVER['REQUEST_URI'] = '/admin/controller/function'; $_SERVER['REQUEST_METHOD'] = 'TEST'; $_SERVER['QUERY_STRING'] = 'foo=1&bar=2'; $request = new \Simple\Request\HTTP($_SERVER, $_REQUEST, $_FILES); $routes = \Simple\Config\PHP::getScope('routesesource'); $router = new \Simple\Request\Router($routes); $resources = array(array('namespace' => '\\Simple\\Middleware\\View', 'class' => 'Cache', 'function' => 'open', 'id' => 'Simple.middleware.view.cache.open'), array('namespace' => '\\Frontend\\Middleware', 'class' => 'Flash', 'function' => 'openFlash', 'id' => 'front.mid.flash.open')); $resourcesFromRoute = $router->getResourcesByRequest($request); $arrayDiff = $this->_array_diff_multidimensional($resources, $resourcesFromRoute); $this->assertTrue(empty($arrayDiff)); }
<?php return array('projectName' => 'Simple', 'username' => 'yourusername', 'password' => 'yourpassword', 'handlerPersistencePlace' => function () { static $instance = null; if (is_null($instance)) { $instance = new stdClass(); $instance->count = $instance->singleton = 0; $instance->username = \Simple\Config\PHP::get('global', 'username', 'defaultValue'); $instance->password = \Simple\Config\PHP::get('global', 'password', 'defaultValue'); $instance->singleton++; } $instance->count++; return $instance; });
/** * Simple\Singleton\Base initializer */ private function _init() { if (is_null($this->_logger)) { $this->_logger = \Simple\Config\PHP::get('logger', 'handler'); } }
<?php error_reporting(-1); ini_set("display_errors", 1); //open autoloader $loader = (require __DIR__ . '/../vendor/autoload.php'); //set default Config directory, where find config files \Simple\Config\PHP::setPath(__DIR__ . '/../Config/'); //get midlewares definitions $middlewaresRoutes = \Simple\Config\PHP::getScope('middlewares'); //Create Router $router = new \Simple\Request\Router($middlewaresRoutes); //Ho middlewares running by request? $middlewaresFromRouter = $router->getResourcesByURI($_SERVER['REQUEST_URI']); //create backbone application $applicationBackbone = new \Simple\Application\Backbone(\Simple\Config\PHP::getScope('bootstrap')); $applicationBackbone->runResources($middlewaresFromRouter);
public function testSingleston2() { $this->assertEquals(5, \Simple\Config\PHP::get('global', 'handlerPersistencePlace')->count); $this->assertEquals(1, \Simple\Config\PHP::get('global', 'handlerPersistencePlace')->singleton); }
<?php return array('webmasterEmail' => '*****@*****.**', 'subject' => 'ERROR! Application Exception', 'fromName' => 'Application', 'warningLog' => '/tmp/lelloolll.waning.log', 'errorLog' => '/tmp/lelloolll.error.log', 'noticeLog' => '/tmp/lelloolll.notice.log', 'handlerInstance' => null, 'handler' => function () { if (is_null(\Simple\Config\PHP::get('logger', 'handlerInstance'))) { $logger = new \Monolog\Logger('name'); $logger->pushHandler(new \Monolog\Handler\StreamHandler(\Simple\Config\PHP::get('logger', 'warningLog'), Logger::WARNING)); $logger->pushHandler(new \Monolog\Handler\StreamHandler(\Simple\Config\PHP::get('logger', 'errorLog'), Logger::ERROR)); $logger->pushHandler(new \Monolog\Handler\StreamHandler(\Simple\Config\PHP::get('logger', 'noticeLog'), Logger::NOTICE)); //email handler $to, $subject, $from, $level $logger->pushHandler(new \Monolog\Handler\NativeMailerHandler(\Simple\Config\PHP::get('logger', 'webmasterEmail'), \Simple\Config\PHP::get('logger', 'subject'), \Simple\Config\PHP::get('logger', 'fromName'), Logger::ERROR)); \Simple\Config\PHP::set('logger', 'handlerInstance', $logger); } return \Simple\Config\PHP::get('logger', 'handlerInstance'); });
protected function setUp() { \Simple\Config\PHP::setPath(__DIR__ . '/config'); }
<?php return array('dsn' => 'mysql:dbname=lellolProcess;host=localhost', 'username' => 'root', 'password' => '', 'handler' => function () { static $_handler = null; if (is_null($_handler)) { try { $_handler = new \PDO(\Simple\Config\PHP::get('database', 'dsn'), \Simple\Config\PHP::get('database', 'username'), \Simple\Config\PHP::get('database', 'password')); } catch (\PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); } } return $_handler; });
<?php return array(\Simple\Middleware\Application::definition(array('class' => 'Request', 'function' => 'parse', 'configFilenameRoutes' => 'routes', 'id' => 'simple.request')), \Simple\Middleware\Application::definition(array('class' => 'Application', 'function' => 'dispatch', 'id' => 'simple.application')), \Simple\Middleware\Application::definition(array('namespace' => 'SmartyTemplate\\Middleware', 'class' => 'View', 'function' => 'send', 'id' => 'simple.view', 'compileDir' => \Simple\Config\PHP::get('application', 'templateCompileDir'))));