mirror of
https://github.com/doctrine/doctrine-website.git
synced 2026-03-23 22:32:11 +01:00
Convert xml config files to php
Symfony XmlFileLoader is deprecated and will be removed
This commit is contained in:
302
config/services.php
Normal file
302
config/services.php
Normal file
@@ -0,0 +1,302 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Algolia\AlgoliaSearch\Api\SearchClient;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Doctrine\Website\Application;
|
||||
use Doctrine\Website\Controllers\AtomController;
|
||||
use Doctrine\Website\Controllers\BlogController;
|
||||
use Doctrine\Website\Controllers\DocumentationController;
|
||||
use Doctrine\Website\Controllers\HomepageController;
|
||||
use Doctrine\Website\Controllers\PartnersController;
|
||||
use Doctrine\Website\Controllers\ProjectController;
|
||||
use Doctrine\Website\Controllers\SitemapController;
|
||||
use Doctrine\Website\DataSources\ArrayDataSource;
|
||||
use Doctrine\Website\DataSources\BlogPosts;
|
||||
use Doctrine\Website\DataSources\DbPrefill\Partners;
|
||||
use Doctrine\Website\DataSources\DbPrefill\Projects;
|
||||
use Doctrine\Website\DataSources\DbPrefill\SimpleSource;
|
||||
use Doctrine\Website\DataSources\SitemapPages;
|
||||
use Doctrine\Website\Docs\RST\Guides;
|
||||
use Doctrine\Website\Docs\RST\GuidesParser;
|
||||
use Doctrine\Website\Docs\RST\RSTBuilder;
|
||||
use Doctrine\Website\Github\GithubClientProvider;
|
||||
use Doctrine\Website\Guides\Compiler\GlobMenuFixerTransformer;
|
||||
use Doctrine\Website\Guides\Compiler\SidebarTransformer;
|
||||
use Doctrine\Website\Guides\ReferenceResolver\HtmlResolver;
|
||||
use Doctrine\Website\Guides\StaticWebsiteGenerator\GuidesMarkdownConverter;
|
||||
use Doctrine\Website\Guides\StaticWebsiteGenerator\GuidesRstConverter;
|
||||
use Doctrine\Website\Model\BlogPost;
|
||||
use Doctrine\Website\Model\DoctrineUser;
|
||||
use Doctrine\Website\Model\Partner;
|
||||
use Doctrine\Website\Model\Project;
|
||||
use Doctrine\Website\Model\SitemapPage;
|
||||
use Doctrine\Website\Projects\ProjectDataRepository;
|
||||
use Doctrine\Website\Repositories\BlogPostRepository;
|
||||
use Doctrine\Website\Repositories\DoctrineUserRepository;
|
||||
use Doctrine\Website\Repositories\PartnerRepository;
|
||||
use Doctrine\Website\Repositories\ProjectRepository;
|
||||
use Doctrine\Website\Repositories\SitemapPageRepository;
|
||||
use Doctrine\Website\Requests\PartnerRequests;
|
||||
use Doctrine\Website\Requests\ProjectRequests;
|
||||
use Doctrine\Website\Requests\ProjectVersionRequests;
|
||||
use Doctrine\Website\StaticGenerator\Controller\ControllerProvider;
|
||||
use Doctrine\Website\StaticGenerator\Request\RequestCollectionProvider;
|
||||
use Doctrine\Website\StaticGenerator\Site;
|
||||
use Doctrine\Website\StaticGenerator\SourceFile\SourceFileBuilder;
|
||||
use Doctrine\Website\StaticGenerator\SourceFile\SourceFileFilesystemReader;
|
||||
use Doctrine\Website\StaticGenerator\SourceFile\SourceFileRenderer;
|
||||
use Doctrine\Website\StaticGenerator\SourceFile\SourceFileRepository;
|
||||
use Doctrine\Website\StaticGenerator\SourceFile\SourceFileRouteReader;
|
||||
use Doctrine\Website\StaticGenerator\Twig\RoutingExtension;
|
||||
use Doctrine\Website\StaticGenerator\Twig\StringTwigRenderer;
|
||||
use Doctrine\Website\StaticGenerator\Twig\TwigRenderer;
|
||||
use Doctrine\Website\Twig\MainExtension;
|
||||
use Doctrine\Website\Twig\ProjectExtension;
|
||||
use Github\Api\Repo;
|
||||
use Github\Client;
|
||||
use Highlight\Highlighter;
|
||||
use Monolog\Handler\StreamHandler;
|
||||
use Monolog\Logger;
|
||||
use Parsedown;
|
||||
use phpDocumentor\Guides\NodeRenderers\TemplateNodeRenderer;
|
||||
use phpDocumentor\Guides\Nodes\DocumentNode;
|
||||
use Psr\Cache\CacheItemPoolInterface;
|
||||
use Psr\EventDispatcher\EventDispatcherInterface;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcher;
|
||||
use Symfony\Component\Filesystem\Filesystem;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver;
|
||||
|
||||
return static function (ContainerConfigurator $container): void {
|
||||
$services = $container->services();
|
||||
$parameters = $container->parameters();
|
||||
$container->import('services/orm.php');
|
||||
|
||||
$services->defaults()
|
||||
->private()
|
||||
->autowire()
|
||||
->autoconfigure()
|
||||
->bind('$rootDir', '%doctrine.website.root_dir%')
|
||||
->bind('$env', '%doctrine.website.env%')
|
||||
->bind('$projectsDir', '%doctrine.website.projects_dir%')
|
||||
->bind('$docsDir', '%doctrine.website.docs_dir%')
|
||||
->bind('$sourceDir', '%doctrine.website.source_dir%')
|
||||
->bind('$projectsData', '%doctrine.website.projects_data%')
|
||||
->bind('$webpackBuildDir', '%doctrine.website.webpack_build_dir%')
|
||||
->bind('$projectIntegrationTypes', '%doctrine.website.project_integration.types%')
|
||||
->bind('$packagistUrlFormat', 'https://packagist.org/packages/%s.json')
|
||||
->bind('$dbPrefills', tagged_iterator('doctrine.website.db_prefill'))
|
||||
->bind('$templatesDir', '%doctrine.website.templates_dir%')
|
||||
->bind('$routes', '%doctrine.website.routes%');
|
||||
|
||||
$services->load('Doctrine\\Website\\', '../lib/*');
|
||||
|
||||
$services->set(SourceFileBuilder::class)
|
||||
->args([
|
||||
service(SourceFileRenderer::class),
|
||||
service(Filesystem::class),
|
||||
[service(GuidesRstConverter::class), service(GuidesMarkdownConverter::class)],
|
||||
['/\/api\//'],
|
||||
]);
|
||||
|
||||
$services->set(StringTwigRenderer::class)
|
||||
->autowire(false)
|
||||
->args([
|
||||
'%doctrine.website.templates_dir%',
|
||||
[service(MainExtension::class), service(ProjectExtension::class), service(RoutingExtension::class)],
|
||||
]);
|
||||
|
||||
$services->alias(TwigRenderer::class, StringTwigRenderer::class);
|
||||
|
||||
$services->set(SourceFileRepository::class)
|
||||
->args([[service(SourceFileFilesystemReader::class), service(SourceFileRouteReader::class)]]);
|
||||
|
||||
$services->set(ControllerProvider::class)
|
||||
->args([[service(AtomController::class), service(BlogController::class), service(DocumentationController::class), service(HomepageController::class), service(PartnersController::class), service(ProjectController::class), service(SitemapController::class)]]);
|
||||
|
||||
$services->set(RequestCollectionProvider::class)
|
||||
->args([[service(PartnerRequests::class), service(ProjectRequests::class), service(ProjectVersionRequests::class)]]);
|
||||
|
||||
$services->alias(Site::class, \Doctrine\Website\Site::class);
|
||||
|
||||
$services->set(Application::class)
|
||||
->public()
|
||||
->autowire();
|
||||
|
||||
$services->set(ProjectDataRepository::class)
|
||||
->autowire();
|
||||
|
||||
$services->set(GithubClientProvider::class)
|
||||
->args([
|
||||
inline_service(Client::class),
|
||||
service(CacheItemPoolInterface::class),
|
||||
'%doctrine.website.github.http_token%',
|
||||
]);
|
||||
|
||||
$services->set(Repo::class)
|
||||
->factory([service(GithubClientProvider::class), 'repositories']);
|
||||
|
||||
$services->set(Highlighter::class)
|
||||
->autowire();
|
||||
|
||||
$services->set(Parsedown::class, Parsedown::class)
|
||||
->autowire();
|
||||
|
||||
$services->set(\Symfony\Component\Console\Application::class)
|
||||
->autowire();
|
||||
|
||||
$services->set(Filesystem::class)
|
||||
->autowire();
|
||||
|
||||
$services->set(ArgumentResolver::class)
|
||||
->autowire();
|
||||
|
||||
$services->set(CacheItemPoolInterface::class, FilesystemAdapter::class)
|
||||
->autowire(false)
|
||||
->args([
|
||||
'',
|
||||
0,
|
||||
'%doctrine.website.cache_dir%/fscache',
|
||||
]);
|
||||
|
||||
$services->set('SendGrid', 'SendGrid')
|
||||
->autowire()
|
||||
->args(['%doctrine.website.send_grid.api_key%']);
|
||||
|
||||
$services->set(SearchClient::class)
|
||||
->autowire(false)
|
||||
->args([
|
||||
'%doctrine.website.algolia.app_id%',
|
||||
'%doctrine.website.algolia.admin_api_key%',
|
||||
])
|
||||
->factory([null, 'create']);
|
||||
|
||||
$services->set(\Doctrine\Website\Site::class)
|
||||
->args([
|
||||
'%doctrine.website.title%',
|
||||
'%doctrine.website.subtitle%',
|
||||
'%doctrine.website.url%',
|
||||
'%doctrine.website.keywords%',
|
||||
'%doctrine.website.description%',
|
||||
'%doctrine.website.env%',
|
||||
'%doctrine.website.google_analytics_tracking_id%',
|
||||
'%doctrine.website.assets_url%',
|
||||
]);
|
||||
|
||||
$services->set(BlogPostRepository::class)
|
||||
->public()
|
||||
->autowire(false)
|
||||
->args([BlogPost::class])
|
||||
->factory([service(EntityManagerInterface::class), 'getRepository']);
|
||||
|
||||
$services->set(DoctrineUserRepository::class)
|
||||
->public()
|
||||
->autowire(false)
|
||||
->args([DoctrineUser::class])
|
||||
->factory([service(EntityManagerInterface::class), 'getRepository']);
|
||||
|
||||
$services->set(PartnerRepository::class)
|
||||
->public()
|
||||
->autowire(false)
|
||||
->args([Partner::class])
|
||||
->factory([service(EntityManagerInterface::class), 'getRepository']);
|
||||
|
||||
$services->set(ProjectRepository::class)
|
||||
->public()
|
||||
->autowire(false)
|
||||
->args([Project::class])
|
||||
->factory([service(EntityManagerInterface::class), 'getRepository']);
|
||||
|
||||
$services->set(SitemapPageRepository::class)
|
||||
->autowire(false)
|
||||
->args([SitemapPage::class])
|
||||
->factory([service(EntityManagerInterface::class), 'getRepository']);
|
||||
|
||||
$services->set('doctrine.website.data_sources.db_prefill.doctrine_user', SimpleSource::class)
|
||||
->args([
|
||||
DoctrineUser::class,
|
||||
inline_service(ArrayDataSource::class)
|
||||
->args(['%doctrine.website.doctrine_users%']),
|
||||
service(EntityManagerInterface::class),
|
||||
])
|
||||
->tag('doctrine.website.db_prefill');
|
||||
|
||||
$services->set('doctrine.website.data_sources.db_prefill.sitemap_pages', SimpleSource::class)
|
||||
->args([
|
||||
SitemapPage::class,
|
||||
service(SitemapPages::class),
|
||||
service(EntityManagerInterface::class),
|
||||
])
|
||||
->tag('doctrine.website.db_prefill');
|
||||
|
||||
$services->set('doctrine.website.data_sources.db_prefill.blog_posts', SimpleSource::class)
|
||||
->args([
|
||||
BlogPost::class,
|
||||
service(BlogPosts::class),
|
||||
service(EntityManagerInterface::class),
|
||||
])
|
||||
->tag('doctrine.website.db_prefill');
|
||||
|
||||
$services->set('doctrine.website.data_sources.db_prefill.projects', Projects::class)
|
||||
->args([
|
||||
service(\Doctrine\Website\DataSources\Projects::class),
|
||||
service(EntityManagerInterface::class),
|
||||
])
|
||||
->tag('doctrine.website.db_prefill');
|
||||
|
||||
$services->set('doctrine.website.data_sources.db_prefill.partners', Partners::class)
|
||||
->args([
|
||||
inline_service(ArrayDataSource::class)
|
||||
->args(['%doctrine.website.partners%']),
|
||||
service(EntityManagerInterface::class),
|
||||
])
|
||||
->tag('doctrine.website.db_prefill');
|
||||
|
||||
$services->set(MainExtension::class)
|
||||
->tag('twig.extension');
|
||||
|
||||
$services->set(Guides::class);
|
||||
|
||||
$services->set(GuidesParser::class)
|
||||
->public();
|
||||
|
||||
$services->set(RSTBuilder::class)
|
||||
->args(['$builder' => service(Guides::class)]);
|
||||
|
||||
$services->set(EventDispatcherInterface::class, EventDispatcher::class);
|
||||
|
||||
$services->set(HtmlResolver::class)
|
||||
->tag('phpdoc.guides.reference_resolver');
|
||||
|
||||
$services->set(GlobMenuFixerTransformer::class)
|
||||
->tag('phpdoc.guides.compiler.nodeTransformers');
|
||||
|
||||
$services->set(SidebarTransformer::class)
|
||||
->tag('phpdoc.guides.compiler.nodeTransformers');
|
||||
|
||||
$services->set(GuidesRstConverter::class)
|
||||
->args(['$nodeRenderer' => service('page_renderer')]);
|
||||
|
||||
$services->set(GuidesMarkdownConverter::class)
|
||||
->args(['$nodeRenderer' => service('page_renderer')]);
|
||||
|
||||
$services->set('page_renderer', TemplateNodeRenderer::class)
|
||||
->args([
|
||||
'$template' => 'website-document.html.twig',
|
||||
'$nodeClass' => DocumentNode::class,
|
||||
]);
|
||||
|
||||
$services->alias(LoggerInterface::class, 'logger');
|
||||
|
||||
$services->set('logger', Logger::class)
|
||||
->args(['$name' => 'docs'])
|
||||
->call('pushHandler', [service(StreamHandler::class)]);
|
||||
|
||||
$services->set(StreamHandler::class)
|
||||
->args(['php://stderr']);
|
||||
};
|
||||
@@ -1,247 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<imports>
|
||||
<import resource="services/orm.xml"/>
|
||||
</imports>
|
||||
|
||||
<services>
|
||||
<defaults autowire="true" autoconfigure="true" public="false">
|
||||
<bind key="$rootDir">%doctrine.website.root_dir%</bind>
|
||||
<bind key="$env">%doctrine.website.env%</bind>
|
||||
<bind key="$projectsDir">%doctrine.website.projects_dir%</bind>
|
||||
<bind key="$docsDir">%doctrine.website.docs_dir%</bind>
|
||||
<bind key="$sourceDir">%doctrine.website.source_dir%</bind>
|
||||
<bind key="$projectsData">%doctrine.website.projects_data%</bind>
|
||||
<bind key="$webpackBuildDir">%doctrine.website.webpack_build_dir%</bind>
|
||||
<bind key="$projectIntegrationTypes">%doctrine.website.project_integration.types%</bind>
|
||||
<bind key="$packagistUrlFormat">https://packagist.org/packages/%s.json</bind>
|
||||
<bind key="$dbPrefills" tag="doctrine.website.db_prefill" type="tagged" />
|
||||
<bind key="$templatesDir">%doctrine.website.templates_dir%</bind>
|
||||
<bind key="$routes">%doctrine.website.routes%</bind>
|
||||
</defaults>
|
||||
|
||||
<prototype namespace="Doctrine\Website\" resource="../lib/*" />
|
||||
|
||||
<service id="Doctrine\Website\StaticGenerator\SourceFile\SourceFileBuilder">
|
||||
<argument type="service" id="Doctrine\Website\StaticGenerator\SourceFile\SourceFileRenderer" />
|
||||
<argument type="service" id="Symfony\Component\Filesystem\Filesystem" />
|
||||
<argument type="collection">
|
||||
<argument type="service" id="Doctrine\Website\Guides\StaticWebsiteGenerator\GuidesRstConverter" />
|
||||
<argument type="service" id="Doctrine\Website\Guides\StaticWebsiteGenerator\GuidesMarkdownConverter" />
|
||||
</argument>
|
||||
<argument type="collection">
|
||||
<argument>/\/api\//</argument>
|
||||
</argument>
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\StaticGenerator\Twig\StringTwigRenderer" autowire="false">
|
||||
<argument>%doctrine.website.templates_dir%</argument>
|
||||
<argument type="collection">
|
||||
<argument type="service" id="Doctrine\Website\Twig\MainExtension" />
|
||||
<argument type="service" id="Doctrine\Website\Twig\ProjectExtension" />
|
||||
<argument type="service" id="Doctrine\Website\StaticGenerator\Twig\RoutingExtension" />
|
||||
</argument>
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\StaticGenerator\Twig\TwigRenderer" alias="Doctrine\Website\StaticGenerator\Twig\StringTwigRenderer" />
|
||||
|
||||
<service id="Doctrine\Website\StaticGenerator\SourceFile\SourceFileRepository">
|
||||
<argument type="collection">
|
||||
<argument type="service" id="Doctrine\Website\StaticGenerator\SourceFile\SourceFileFilesystemReader" />
|
||||
<argument type="service" id="Doctrine\Website\StaticGenerator\SourceFile\SourceFileRouteReader" />
|
||||
</argument>
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\StaticGenerator\Controller\ControllerProvider">
|
||||
<argument type="collection">
|
||||
<argument type="service" id="Doctrine\Website\Controllers\AtomController" />
|
||||
<argument type="service" id="Doctrine\Website\Controllers\BlogController" />
|
||||
<argument type="service" id="Doctrine\Website\Controllers\DocumentationController" />
|
||||
<argument type="service" id="Doctrine\Website\Controllers\HomepageController" />
|
||||
<argument type="service" id="Doctrine\Website\Controllers\PartnersController" />
|
||||
<argument type="service" id="Doctrine\Website\Controllers\ProjectController" />
|
||||
<argument type="service" id="Doctrine\Website\Controllers\SitemapController" />
|
||||
</argument>
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\StaticGenerator\Request\RequestCollectionProvider">
|
||||
<argument type="collection">
|
||||
<argument type="service" id="Doctrine\Website\Requests\PartnerRequests" />
|
||||
<argument type="service" id="Doctrine\Website\Requests\ProjectRequests" />
|
||||
<argument type="service" id="Doctrine\Website\Requests\ProjectVersionRequests" />
|
||||
</argument>
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\StaticGenerator\Site" alias="Doctrine\Website\Site" />
|
||||
|
||||
<service id="Doctrine\Website\Application" autowire="true" public="true" />
|
||||
|
||||
<service id="Doctrine\Website\Projects\ProjectDataRepository" autowire="true" />
|
||||
|
||||
<service id="Doctrine\Website\Github\GithubClientProvider">
|
||||
<argument type="service">
|
||||
<service class="Github\Client" />
|
||||
</argument>
|
||||
<argument type="service" id="Psr\Cache\CacheItemPoolInterface" />
|
||||
<argument>%doctrine.website.github.http_token%</argument>
|
||||
</service>
|
||||
|
||||
<service id="Github\Api\Repo">
|
||||
<factory service="Doctrine\Website\Github\GithubClientProvider"
|
||||
method="repositories"
|
||||
/>
|
||||
</service>
|
||||
|
||||
<service id="Highlight\Highlighter" autowire="true" />
|
||||
<service id="Parsedown" class="Parsedown" autowire="true" />
|
||||
<service id="Symfony\Component\Console\Application" autowire="true" />
|
||||
<service id="Symfony\Component\Filesystem\Filesystem" autowire="true" />
|
||||
<service id="Symfony\Component\HttpKernel\Controller\ArgumentResolver" autowire="true" />
|
||||
<service id="Psr\Cache\CacheItemPoolInterface" class="Symfony\Component\Cache\Adapter\FilesystemAdapter" autowire="false">
|
||||
<argument></argument>
|
||||
<argument>0</argument>
|
||||
<argument>%doctrine.website.cache_dir%/fscache</argument>
|
||||
</service>
|
||||
<service id="SendGrid" class="SendGrid" autowire="true">
|
||||
<argument>%doctrine.website.send_grid.api_key%</argument>
|
||||
</service>
|
||||
|
||||
<service id="Algolia\AlgoliaSearch\Api\SearchClient" autowire="false">
|
||||
<factory method="create"/>
|
||||
<argument>%doctrine.website.algolia.app_id%</argument>
|
||||
<argument>%doctrine.website.algolia.admin_api_key%</argument>
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\Site">
|
||||
<argument>%doctrine.website.title%</argument>
|
||||
<argument>%doctrine.website.subtitle%</argument>
|
||||
<argument>%doctrine.website.url%</argument>
|
||||
<argument>%doctrine.website.keywords%</argument>
|
||||
<argument>%doctrine.website.description%</argument>
|
||||
<argument>%doctrine.website.env%</argument>
|
||||
<argument>%doctrine.website.google_analytics_tracking_id%</argument>
|
||||
<argument>%doctrine.website.assets_url%</argument>
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\Repositories\BlogPostRepository" autowire="false" public="true">
|
||||
<factory service="Doctrine\ORM\EntityManagerInterface" method="getRepository" />
|
||||
<argument type="string">Doctrine\Website\Model\BlogPost</argument>
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\Repositories\DoctrineUserRepository" autowire="false" public="true">
|
||||
<factory service="Doctrine\ORM\EntityManagerInterface" method="getRepository" />
|
||||
<argument type="string">Doctrine\Website\Model\DoctrineUser</argument>
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\Repositories\PartnerRepository" autowire="false" public="true">
|
||||
<factory service="Doctrine\ORM\EntityManagerInterface" method="getRepository" />
|
||||
<argument type="string">Doctrine\Website\Model\Partner</argument>
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\Repositories\ProjectRepository" autowire="false" public="true">
|
||||
<factory service="Doctrine\ORM\EntityManagerInterface" method="getRepository" />
|
||||
<argument type="string">Doctrine\Website\Model\Project</argument>
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\Repositories\SitemapPageRepository" autowire="false">
|
||||
<factory service="Doctrine\ORM\EntityManagerInterface" method="getRepository" />
|
||||
<argument type="string">Doctrine\Website\Model\SitemapPage</argument>
|
||||
</service>
|
||||
|
||||
<service id="doctrine.website.data_sources.db_prefill.doctrine_user"
|
||||
class="Doctrine\Website\DataSources\DbPrefill\SimpleSource">
|
||||
<argument type="string">Doctrine\Website\Model\DoctrineUser</argument>
|
||||
<argument type="service">
|
||||
<service class="Doctrine\Website\DataSources\ArrayDataSource">
|
||||
<argument>%doctrine.website.doctrine_users%</argument>
|
||||
</service>
|
||||
</argument>
|
||||
<argument type="service" id="Doctrine\ORM\EntityManagerInterface" />
|
||||
<tag name="doctrine.website.db_prefill" />
|
||||
</service>
|
||||
|
||||
<service id="doctrine.website.data_sources.db_prefill.sitemap_pages"
|
||||
class="Doctrine\Website\DataSources\DbPrefill\SimpleSource">
|
||||
<argument type="string">Doctrine\Website\Model\SitemapPage</argument>
|
||||
<argument type="service" id="Doctrine\Website\DataSources\SitemapPages" />
|
||||
<argument type="service" id="Doctrine\ORM\EntityManagerInterface" />
|
||||
<tag name="doctrine.website.db_prefill" />
|
||||
</service>
|
||||
|
||||
<service id="doctrine.website.data_sources.db_prefill.blog_posts"
|
||||
class="Doctrine\Website\DataSources\DbPrefill\SimpleSource">
|
||||
<argument type="string">Doctrine\Website\Model\BlogPost</argument>
|
||||
<argument type="service" id="Doctrine\Website\DataSources\BlogPosts" />
|
||||
<argument type="service" id="Doctrine\ORM\EntityManagerInterface" />
|
||||
<tag name="doctrine.website.db_prefill" />
|
||||
</service>
|
||||
|
||||
<service id="doctrine.website.data_sources.db_prefill.projects"
|
||||
class="Doctrine\Website\DataSources\DbPrefill\Projects">
|
||||
<argument type="service" id="Doctrine\Website\DataSources\Projects" />
|
||||
<argument type="service" id="Doctrine\ORM\EntityManagerInterface" />
|
||||
<tag name="doctrine.website.db_prefill" />
|
||||
</service>
|
||||
|
||||
<service id="doctrine.website.data_sources.db_prefill.partners"
|
||||
class="Doctrine\Website\DataSources\DbPrefill\Partners">
|
||||
<argument type="service">
|
||||
<service class="Doctrine\Website\DataSources\ArrayDataSource">
|
||||
<argument>%doctrine.website.partners%</argument>
|
||||
</service>
|
||||
</argument>
|
||||
<argument type="service" id="Doctrine\ORM\EntityManagerInterface" />
|
||||
<tag name="doctrine.website.db_prefill" />
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\Twig\MainExtension">
|
||||
<tag name="twig.extension" />
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\Docs\RST\Guides" />
|
||||
<service id="Doctrine\Website\Docs\RST\GuidesParser" public="true" />
|
||||
<service id="Doctrine\Website\Docs\RST\RSTBuilder">
|
||||
<argument key="$builder" type="service" id="Doctrine\Website\Docs\RST\Guides" />
|
||||
</service>
|
||||
<service id="Psr\EventDispatcher\EventDispatcherInterface" class="Symfony\Component\EventDispatcher\EventDispatcher" />
|
||||
|
||||
<service id="Doctrine\Website\Guides\ReferenceResolver\HtmlResolver">
|
||||
<tag name="phpdoc.guides.reference_resolver" />
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\Guides\Compiler\GlobMenuFixerTransformer">
|
||||
<tag name="phpdoc.guides.compiler.nodeTransformers" />
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\Guides\Compiler\SidebarTransformer">
|
||||
<tag name="phpdoc.guides.compiler.nodeTransformers" />
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\Guides\StaticWebsiteGenerator\GuidesRstConverter">
|
||||
<argument key="$nodeRenderer" type="service" id="page_renderer" />
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\Website\Guides\StaticWebsiteGenerator\GuidesMarkdownConverter">
|
||||
<argument key="$nodeRenderer" type="service" id="page_renderer" />
|
||||
</service>
|
||||
|
||||
<service id="page_renderer" class="phpDocumentor\Guides\NodeRenderers\TemplateNodeRenderer">
|
||||
<argument key="$template" type="string">website-document.html.twig</argument>
|
||||
<argument key="$nodeClass" type="string">phpDocumentor\Guides\Nodes\DocumentNode</argument>
|
||||
</service>
|
||||
|
||||
<service id="Psr\Log\LoggerInterface" alias="logger" />
|
||||
<service id="logger" class="Monolog\Logger">
|
||||
<argument key="$name">docs</argument>
|
||||
<call method="pushHandler">
|
||||
<argument type="service" id="Monolog\Handler\StreamHandler" />
|
||||
</call>
|
||||
</service>
|
||||
<service id="Monolog\Handler\StreamHandler">
|
||||
<argument type="constant">STDERR</argument>
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
35
config/services/orm.php
Normal file
35
config/services/orm.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Doctrine\DBAL\Connection;
|
||||
use Doctrine\DBAL\DriverManager;
|
||||
use Doctrine\ORM\Configuration;
|
||||
use Doctrine\ORM\EntityManager;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Doctrine\ORM\ORMSetup;
|
||||
|
||||
return static function (ContainerConfigurator $container): void {
|
||||
$services = $container->services();
|
||||
$parameters = $container->parameters();
|
||||
|
||||
$services->set(Configuration::class)
|
||||
->args([['lib/Model', 'lib/Git', 'lib/Docs/RST']])
|
||||
->factory([ORMSetup::class, 'createAttributeMetadataConfiguration'])
|
||||
->call('enableNativeLazyObjects', [true]);
|
||||
|
||||
$services->set(Connection::class)
|
||||
->args([['driver' => 'pdo_sqlite', 'path' => '%doctrine.website.cache_dir%/doctrine-website.sqlite']])
|
||||
->factory([DriverManager::class, 'getConnection']);
|
||||
|
||||
$services->set(EntityManager::class)
|
||||
->args([
|
||||
service(Connection::class),
|
||||
service(Configuration::class),
|
||||
]);
|
||||
|
||||
$services->alias(EntityManagerInterface::class, EntityManager::class)
|
||||
->public();
|
||||
};
|
||||
@@ -1,34 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<service id="Doctrine\ORM\Configuration">
|
||||
<factory class="Doctrine\ORM\ORMSetup" method="createAttributeMetadataConfiguration" />
|
||||
<argument type="collection">
|
||||
<argument type="string">lib/Model</argument>
|
||||
<argument type="string">lib/Git</argument>
|
||||
<argument type="string">lib/Docs/RST</argument>
|
||||
</argument>
|
||||
<call method="enableNativeLazyObjects">
|
||||
<argument type="constant">true</argument>
|
||||
</call>
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\DBAL\Connection">
|
||||
<factory class="Doctrine\DBAL\DriverManager" method="getConnection" />
|
||||
<argument type="collection">
|
||||
<argument key="driver" type="string">pdo_sqlite</argument>
|
||||
<argument key="path" type="string">%doctrine.website.cache_dir%/doctrine-website.sqlite</argument>
|
||||
</argument>
|
||||
</service>
|
||||
|
||||
<service id="Doctrine\ORM\EntityManager">
|
||||
<argument type="service" id="Doctrine\DBAL\Connection" />
|
||||
<argument type="service" id="Doctrine\ORM\Configuration" />
|
||||
</service>
|
||||
|
||||
<service alias="Doctrine\ORM\EntityManager" id="Doctrine\ORM\EntityManagerInterface" public="true" />
|
||||
</services>
|
||||
</container>
|
||||
@@ -22,7 +22,7 @@ use Symfony\Component\Console\Helper\QuestionHelper;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
|
||||
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
|
||||
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
|
||||
|
||||
use function assert;
|
||||
@@ -98,8 +98,8 @@ final readonly class Application
|
||||
$container->loadFromExtension($extension->getAlias());
|
||||
}
|
||||
|
||||
$xmlConfigLoader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../config'));
|
||||
$xmlConfigLoader->load('services.xml');
|
||||
$xmlConfigLoader = new PhpFileLoader($container, new FileLocator(__DIR__ . '/../config'));
|
||||
$xmlConfigLoader->load('services.php');
|
||||
|
||||
$yamlConfigLoader = new YamlFileLoader($container, new FileLocator(__DIR__ . '/../config'));
|
||||
$yamlConfigLoader->load('routes.yml');
|
||||
|
||||
Reference in New Issue
Block a user