/** * Registers services on the given app. * * @param Application $app An Application instance. */ public function register(Application $app) { /** @var Translator $translator */ $translator = $app['translator']; $translator->addTranslationFolder(__DIR__ . DIRECTORY_SEPARATOR . 'Messages'); /** @var Collection $writerCollection */ $writerCollection = $app['transformer.writer.collection']; $writerCollection['FileIo'] = new Writer\FileIo(); $writerCollection['checkstyle'] = new Writer\Checkstyle(); $writerCollection['sourcecode'] = new Writer\Sourcecode(); $writerCollection['statistics'] = new Writer\Statistics(); $writerCollection['xml'] = new Writer\Xml($app['transformer.routing.standard']); $writerCollection['xsl'] = new Writer\Xsl($app['monolog']); $writerCollection['checkstyle']->setTranslator($translator); $writerCollection['xml']->setTranslator($translator); Xslt\Extension::$routers = $app['transformer.routing.queue']; Xslt\Extension::$descriptorBuilder = $app['descriptor.builder']; $app->register(new \phpDocumentor\Plugin\Graphs\ServiceProvider()); $app->register(new \phpDocumentor\Plugin\Twig\ServiceProvider()); $app->register(new \phpDocumentor\Plugin\Pdf\ServiceProvider()); }
/** * Registers the Routing Queue and Descriptor Builder objects on the XSLT Extension class. * * In every template we use PHP helpers in order to be able to have routing that is universal between templates and * convert Markdown text into HTML (for example). The only way for XSL to do this is by having global functions or * static methods in a class because you cannot inject an object into an XSL processor. * * With this method we make sure that all dependencies used by the static methods are injected as static properties. * * @param Application $app * * @return void */ private function registerDependenciesOnXsltExtension(Application $app) { Xslt\Extension::$routers = $app['transformer.routing.queue']; Xslt\Extension::$descriptorBuilder = $app['descriptor.builder']; }