public function testLoadDefaultTheme() { $app = $this->getApp(); $this->assertTrue(file_exists('vfs://root/public/test/App/')); $this->assertEquals(FileHelper::replaceSeparators('vfs://root/public/test/App/'), $app->getTheme()->getAppPath('')); $this->assertEquals(FileHelper::replaceSeparators('vfs://root/public/test/'), $app->getTheme()->getPath('')); $this->assertEquals(FileHelper::replaceSeparators('vfs://root/public/default/App/views/home/index.tpl'), $app->getTheme()->getAppPath(FileHelper::replaceSeparators('views/home/index.tpl'))); $this->assertEquals(FileHelper::replaceSeparators('vfs://root/public/test/App/views/admin/home/index.tpl'), $app->getTheme()->getAppPath(FileHelper::replaceSeparators('views/admin/home/index.tpl'))); /**@var Controller $controller **/ $controller = new \App\Controllers\HomeController($app, 'index'); $this->assertEquals('This is app default home', $controller->fetch('/home/index')); ob_start(); $controller->render(); $output = ob_get_clean(); $this->assertEquals('This is app default home', $output); $controller = new \App\Controllers\Admin\HomeController($app, 'index'); $this->assertEquals('This is app test admin home', $controller->fetch()); unsetRealpath(); }
if (isset($_GET['p'])) { $p = $_GET['p']; } else { $p = 'home'; } //Routing if ($p === 'home') { $controller = new \App\Controllers\HomeController(); $controller->index(); } elseif ($p === 'upload') { $controller = new \App\Controllers\HomeController(); $controller->upload(); } else { if ($p === 'details') { $controller = new \App\Controllers\ImageController(); $controller->index(); } else { if ($p === 'modify') { $controller = new \App\Controllers\ImageController(); $controller->modifyMetadata(); } else { if ($p === 'apropos') { $controller = new \App\Controllers\AProposController(); $controller->index(); } else { $controller = new \App\Controllers\HomeController(); $controller->index(); } } } }
<?php use Slim\Http\Request; use Slim\Http\Response; $app->get('/[{name}]', function (Request $request, Response $response, array $args) { $appController = new \App\Controllers\HomeController($request, $response, $args, $this); $appController->run(); });