Convert xml config files to php

Symfony XmlFileLoader is deprecated and will be removed
This commit is contained in:
Claudio Zizza
2025-12-05 23:08:40 +01:00
parent 76c0b1d008
commit cde5e824c5
5 changed files with 340 additions and 284 deletions

302
config/services.php Normal file
View 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']);
};

View File

@@ -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
View 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();
};

View File

@@ -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>

View File

@@ -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');