public function setElement($element) { if (!is_null($element['header']) && Validate::isString($element['header'])) { $element['header'] = Container::create(array('class' => 'panel-title', 'elements' => $element['header'])); } return $element; }
require_once CONTROLLER_DIR . '/LoginController.php'; require_once CONTROLLER_DIR . '/RoutingController.php'; require_once CONTROLLER_DIR . '/DatabaseController.php'; require_once MODEL_DIR . '/ImageModel.php'; require_once MODEL_DIR . '/UserModel.php'; session_start(); $connection = new PDO('mysql:host=127.0.0.1;dbname=imagegallery;charset=utf8mb4', 'root', 'emil0609'); $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $container = new Container(); $container->bindArguments('RoutingController', ['connection' => $connection, 'container' => $container]); $container->bindArguments('ImageModel', ['connection' => $connection]); $container->bindArguments('UserModel', ['connection' => $connection]); $router = new Router(); $router->addRoute('GET', '/', ['RoutingController', 'renderLoginView']); $router->addRoute('POST', '/login', ['LoginController', 'login']); $router->addRoute('GET', '/gallery', ['RoutingController', 'renderGalleryView']); $router->addRoute('GET', '/logout', ['LoginController', 'logout']); $router->addRoute('GET', '/upload', ['RoutingController', 'renderUploadView']); $router->addRoute('GET', '/users', ['RoutingController', 'renderUsersView']); $router->addRoute('GET', '/create', ['RoutingController', 'test']); $router->addRoute('GET', '/delete', ['UserModel', 'deleteUser']); $router->addRoute('GET', '/getusers', ['UserModel', 'getUsers']); $router->addRoute('POST', '/createimage', ['ImageModel', 'createImage']); $router->addRoute('GET', '/getimages', ['ImageModel', 'getImages']); $uri = rawurldecode(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)); $route = $router->match($_SERVER['REQUEST_METHOD'], $uri); if ($route == null) { $route = ['handle' => ['ErrorController', 'error404'], 'arguments' => []]; } $controller = $container->create($route['handle'][0]); $container->call([$controller, $route['handle'][1]], $route['arguments']);
/** * @return Container */ private function createContainer(array $items) { return Container::create('SessionData', $items); }