Пример #1
0
 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']);
Пример #3
0
 /**
  * @return Container
  */
 private function createContainer(array $items)
 {
     return Container::create('SessionData', $items);
 }