Skip to content

Commit 709d91b

Browse files
committed
コントローラからも登録時のUseCaseを使うように変更(テストも通ることを確認)
1 parent 80ba040 commit 709d91b

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

src/Controller/ArticlesController.php

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use App\Entity\PostCount;
77
use App\Form\ArticleType;
88
use App\Repository\PostCountRepository;
9+
use App\Service\UseCase\Article\RegisterUseCase;
910
use DateTime;
1011
use Exception;
1112
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
@@ -17,6 +18,19 @@
1718

1819
class ArticlesController extends AbstractController
1920
{
21+
/**
22+
* @var RegisterUseCase
23+
*/
24+
private $registerUseCase;
25+
26+
/**
27+
* @param RegisterUseCase $registerUseCase
28+
*/
29+
public function __construct(RegisterUseCase $registerUseCase)
30+
{
31+
$this->registerUseCase = $registerUseCase;
32+
}
33+
2034
/**
2135
* @Route("/articles", name="articles")
2236
* @Template()
@@ -41,26 +55,12 @@ public function index()
4155
*/
4256
public function new(Request $request)
4357
{
44-
$article = new Article();
45-
$form = $this->createForm(ArticleType::class, $article);
58+
$form = $this->createForm(ArticleType::class);
4659

4760
$form->handleRequest($request);
4861
if ($form->isSubmitted() && $form->isValid()) {
4962
$article = $form->getData();
50-
$entityManager = $this->getDoctrine()->getManager();
51-
$entityManager->persist($article);
52-
/** @var PostCountRepository $postCountRepository */
53-
$postCountRepository = $this->getDoctrine()->getRepository(PostCount::class);
54-
$postCount = $postCountRepository->findOneBy([
55-
'postDate' => new DateTime(),
56-
]);
57-
if (empty($postCount)) {
58-
$postCount = new PostCount();
59-
$postCount->setPostDate(new DateTime());
60-
$entityManager->persist($postCount);
61-
}
62-
$postCount->setPostCount($postCount->getPostCount() + 1);
63-
$entityManager->flush();
63+
$this->registerUseCase->register($article);
6464

6565
$this->addFlash('success', '登録しました');
6666
return $this->redirectToRoute('articles');

0 commit comments

Comments
 (0)