1515use App \Form \PostType ;
1616use App \Repository \PostRepository ;
1717use App \Security \PostVoter ;
18- use App \Utils \Slugger ;
1918use Sensio \Bundle \FrameworkExtraBundle \Configuration \IsGranted ;
2019use Symfony \Bundle \FrameworkBundle \Controller \AbstractController ;
2120use Symfony \Component \Form \Extension \Core \Type \SubmitType ;
2221use Symfony \Component \HttpFoundation \Request ;
2322use Symfony \Component \HttpFoundation \Response ;
2423use Symfony \Component \Routing \Annotation \Route ;
24+ use Symfony \Component \String \Slugger \SluggerInterface ;
2525
2626/**
2727 * Controller used to manage blog contents in the backend.
@@ -70,7 +70,7 @@ public function index(PostRepository $posts): Response
7070 * to constraint the HTTP methods each controller responds to (by default
7171 * it responds to all methods).
7272 */
73- public function new (Request $ request ): Response
73+ public function new (Request $ request, SluggerInterface $ slugger ): Response
7474 {
7575 $ post = new Post ();
7676 $ post ->setAuthor ($ this ->getUser ());
@@ -86,7 +86,7 @@ public function new(Request $request): Response
8686 // However, we explicitly add it to improve code readability.
8787 // See https://symfony.com/doc/current/best_practices/forms.html#handling-form-submits
8888 if ($ form ->isSubmitted () && $ form ->isValid ()) {
89- $ post ->setSlug (Slugger:: slugify ($ post ->getTitle ()));
89+ $ post ->setSlug ($ slugger -> slug ($ post ->getTitle ())-> lower ( ));
9090
9191 $ em = $ this ->getDoctrine ()->getManager ();
9292 $ em ->persist ($ post );
@@ -133,13 +133,13 @@ public function show(Post $post): Response
133133 * @Route("/{id<\d+>}/edit",methods={"GET", "POST"}, name="admin_post_edit")
134134 * @IsGranted("edit", subject="post", message="Posts can only be edited by their authors.")
135135 */
136- public function edit (Request $ request , Post $ post ): Response
136+ public function edit (Request $ request , Post $ post, SluggerInterface $ slugger ): Response
137137 {
138138 $ form = $ this ->createForm (PostType::class, $ post );
139139 $ form ->handleRequest ($ request );
140140
141141 if ($ form ->isSubmitted () && $ form ->isValid ()) {
142- $ post ->setSlug (Slugger:: slugify ($ post ->getTitle ()));
142+ $ post ->setSlug ($ slugger -> slug ($ post ->getTitle ())-> lower ( ));
143143 $ this ->getDoctrine ()->getManager ()->flush ();
144144
145145 $ this ->addFlash ('success ' , 'post.updated_successfully ' );
0 commit comments