getContainer(); // Config. $container['config'] = ConfigFactory::create(); // Locales. $container['locale'] = LocaleManagerFactory::create(); $app->add(new LocaleMiddleware($container)); // Smarty. $container['view'] = ViewFactory::create($container); // Logger. $container['logger'] = LoggerFactory::create($container); // Controllers. $frontController = new FrontController($container); $jsonController = new JsonController($container); $downloadController = new DownloadController($container); // Error handling. $container['errorHandler'] = [$frontController, 'error']; $container['phpErrorHandler'] = [$frontController, 'error']; // Routes. $app->get( '/', [$frontController, 'index'] )->setName('index'); $app->get( '/extractors', [$frontController, 'extractors'] )->setName('extractors'); $app->any( '/info', [$frontController, 'info'] )->setName('info'); $app->any( '/watch', [$frontController, 'info'] ); $app->any( '/download', [$downloadController, 'download'] )->setName('download'); $app->get( '/locale/{locale}', [$frontController, 'locale'] )->setName('locale'); $app->get( '/json', [$jsonController, 'json'] )->setName('json'); $app->run(); } catch (Throwable $e) { // Last resort if the error has not been caught by the error handler for some reason. die('Error when starting the app: ' . htmlentities($e->getMessage())); }