在创建您自己的 PHP 框架 ( https://symfony.com/doc/current/create_framework/index.html )之后,我只在我的项目中使用 Symfony DI、Http、内核、路由组件。我指定的项目,@cerad 提供了很大帮助。再次感谢。可以使用 Service 和 Controller 依赖注入。
参照。没有完整堆栈框架的 Symfony 组件(第 1 集)和 https://github.com/Monnomcjo/symfony-simplex
但是现在我在依赖注入中实例化存储库时遇到了一个新困难。
我添加了 symfony/orm-pack 来使用 ServiceEntityRepository。
更新 :
如评论中所述,我担心的是方法问题。
我的问题说得不好,上下文也不够清楚。仍然在学习环境中,我尝试实现清洁架构和领域驱动设计的概念。
在这种分区和独立的想法下,我也尝试更好地掌握我的Framework,从几乎什么都没有开始,边做边添加,只做我需要的。
仍然遵循评论我不再使用 symfony / orm-pack 而是教义 / dbal。
还有很多事情要做,但它确实有效。
#container.php
// Doctrine
$containerBuilder->register(\ExampleApp\Domain\Client\Entity\ClientRepository::class, \Infrastructure\Persistence\Doctrine\Client\DoctrineClientRepository::class)
->setArguments([new Reference('service_container')]);
$containerBuilder->register(\ExampleApp\Domain\Client\UseCase\GetClient\GetClient::class, \ExampleApp\Domain\Client\UseCase\GetClient\GetClient::class)
->setArguments([new Reference(\ExampleApp\Domain\Client\Entity\ClientRepository::class)]);
$containerBuilder->register(\ExampleApp\Presentation\Client\GetClientHtmlPresenter::class, \ExampleApp\Presentation\Client\GetClientHtmlPresenter::class);
$containerBuilder->register(\Infrastructure\View\GetClientView::class, \Infrastructure\View\GetClientView::class);
$containerBuilder->register(\Infrastructure\Controller\ClientController::class, \Infrastructure\Controller\ClientController::class)
->setArguments([
new Reference(\ExampleApp\Domain\Client\UseCase\GetClient\GetClient::class),
new Reference(\ExampleApp\Presentation\Client\GetClientHtmlPresenter::class),
new Reference(\Infrastructure\View\GetClientView::class)
]);
现在退货正常。
https://github.com/Monnomcjo/symfony-simplex也更新了。
下一步,添加 .env,conf 文件类型 services.yaml