GlobalErrorHandler::enable(); // Define base parameters of the framework's core and tools layer Registry::register('APF\\core', 'Environment', 'DEFAULT'); Registry::register('APF\\core', 'InternalLogTarget', 'apf'); Registry::register('APF\\core', 'Charset', 'UTF-8'); // set up configuration provider to let the developer customize it later on ConfigurationManager::registerProvider('ini', new IniConfigurationProvider()); // configure logger (outside namespace'd file! otherwise initialization will not work) register_shutdown_function(function () { /* @var $logger Logger */ $logger = Singleton::getInstance(Logger::class); $logger->flushLogBuffer(); }); // Set up default link scheme configuration. In case url rewriting is required, please // specify another link scheme within your application bootstrap file. LinkGenerator::setLinkScheme(new DefaultLinkScheme()); // Add the front controller filter that is a wrapper on the front controller's input // filters concerning thr url rewriting configuration. In case rewriting is required, // please specify another input filter within your application bootstrap file according // to your url mapping requirements (e.g. use the ChainedUrlRewritingInputFilter included // within the APF). // As shipped, the APF does not define an output filter since "normal" url handling // does not require rewriting. In case rewriting is required, please specify another output // filter according to your url mapping requirements (e.g. use the ChainedUrlRewritingOutputFilter // included within the APF). InputFilterChain::getInstance()->appendFilter(new ChainedStandardInputFilter()); // The 2.2/3.0 APF parser allows to globally register tags. This not only eases tag implementation and re-usage // but also registration at a central place (bootstrap file). The following section registers all APF tags // shipped with the release to have them available for custom tags. Tags are grouped per namespace and purpose. // APF\core Document::addTagLib(AddTaglibTag::class, 'core', 'addtaglib');