public function testDisableLayout() { $this->object->bootstrap("view", function () { $v = new View(); $v->addViewPath(__DIR__ . '/views'); return $v; }); $this->object->bootstrap("layout", function () { $v = new Layout(); $v->addViewPath(__DIR__ . '/layouts'); $v->setScriptName("layout"); return $v; }); ob_start(); $this->object->run(new Request("/general/disable-layout")); $content = ob_get_contents(); ob_end_clean(); $this->assertEquals("Only this view...", trim($content)); }
<?php require_once __DIR__ . '/../../vendor/autoload.php'; define("APPLICATION_ENV", 'development'); $app = new Application(); $app->setControllerPath(__DIR__ . '/../app/controllers'); $classLoader = new \Doctrine\Common\ClassLoader('Wdm', __DIR__ . '/../app/models'); $classLoader->register(); $app->bootstrap("config", function () { $config = new Config(); $config->load(__DIR__ . '/../app/configs/application.ini'); return $config; }); $app->bootstrap("view", function () { $view = new View(); $view->setViewPath(__DIR__ . '/../app/views'); return $view; }); $app->bootstrap("layout", function () { $layout = new Layout(); $layout->setViewPath(__DIR__ . '/../app/layouts'); return $layout; }); $app->bootstrap("entityManager", function () use($app) { $config = new \Doctrine\ORM\Configuration(); // (2) // Proxy Configuration $config->setProxyDir(__DIR__ . '/../app/models/Wdm/Proxies'); $config->setProxyNamespace('Wdm\\Proxies'); $config->setAutoGenerateProxyClasses(APPLICATION_ENV == "development"); // Mapping Configuration
<?php require_once realpath(__DIR__ . '/../../../src/Loader.php'); Loader::classmap(); $app = new Application(); // By default but more clear $app->setControllerPath(__DIR__ . '/../controllers'); $app->bootstrap("view", function () { $view = new View(); $view->setViewPath(__DIR__ . '/../views'); $view->addHelper("title", function ($part = false) { static $parts = array(); static $delimiter = ' :: '; return $part === false ? implode($delimiter, $parts) : ($parts[] = $part); }); return $view; }); $app->bootstrap("layout", function () { $layout = new Layout(); $layout->setViewPath(__DIR__ . '/../layouts'); return $layout; }); $app->run();
private static function runBootstrap($bootstrap) { self::$bootstrap = new $bootstrap(); $classname = 'Core_Config_IApplication'; if (!self::$bootstrap instanceof $classname) { throw new Core_Exceptions("Bootstrap is not implementing Core_Config_IApplication interface"); } self::setSessionHandler(self::$bootstrap->getSessionTypeFile()); self::$bootstrap->run(); self::$acl = self::$bootstrap->getAcl(); self::$acl->validate(); self::$templates = self::$bootstrap->getTemplates(); self::setActiveTemplate(self::$bootstrap->getActiveTemplate()); self::$router = self::$bootstrap->getRouter(); }
<?php require_once realpath(__DIR__ . '/../vendor/autoload.php'); $app = new Application(); // By default but more clear $app->setControllerPath(__DIR__ . '/../controllers'); $app->bootstrap("view", function () { $view = new TwigView(); $view->addViewPath(realpath(__DIR__ . '/../layouts')); $view->addViewPath(realpath(__DIR__ . '/../views')); $view->setViewExt(".twig"); $view->initTwig(__DIR__ . '/../views/cache'); return $view; }); $app->run();