<?php
define('DS', DIRECTORY_SEPARATOR);
define('SYS_ROOT', __DIR__ . DS);

require SYS_ROOT . '../vendor/autoload.php';

error_reporting(E_ALL ^ E_NOTICE);

use Application\Router\CommandRouter;
use DYGame\Bootstrap\WebBootstrap;
use DYGame\Entity\SystemConfiguration;

try {
    $app = new WebBootstrap();
    $app->setRouter(new CommandRouter($app, SYS_ROOT . 'etc/cmd.web.inc.php'))
        ->setTemplateEngine(new \DYGame\Web\TwigTemplate($app, SYS_ROOT))
        ->addValidators(new \Application\Validators\WebValidator($app))
        ->setContext(new \Application\Core\ApplicationContext($app))
        ->addLogHandler('web', new \DYGame\Log\RotaingFileHandler($app))
        ->setControllerNs('Application\Web')
        ->dispatch(new SystemConfiguration('/data/conf/app/application.ini'), $argv);
} catch (\DYGame\Exceptions\FileNotFoundException $e) {
    echo '配置文件不存在。', PHP_EOL;
    exit(1);
}