15
15
use App \Form \PostType ;
16
16
use App \Repository \PostRepository ;
17
17
use App \Security \PostVoter ;
18
- use App \Utils \Slugger ;
19
18
use Sensio \Bundle \FrameworkExtraBundle \Configuration \IsGranted ;
20
19
use Symfony \Bundle \FrameworkBundle \Controller \AbstractController ;
21
20
use Symfony \Component \Form \Extension \Core \Type \SubmitType ;
22
21
use Symfony \Component \HttpFoundation \Request ;
23
22
use Symfony \Component \HttpFoundation \Response ;
24
23
use Symfony \Component \Routing \Annotation \Route ;
24
+ use Symfony \Component \String \Slugger \SluggerInterface ;
25
25
26
26
/**
27
27
* Controller used to manage blog contents in the backend.
@@ -70,7 +70,7 @@ public function index(PostRepository $posts): Response
70
70
* to constraint the HTTP methods each controller responds to (by default
71
71
* it responds to all methods).
72
72
*/
73
- public function new (Request $ request ): Response
73
+ public function new (Request $ request, SluggerInterface $ slugger ): Response
74
74
{
75
75
$ post = new Post ();
76
76
$ post ->setAuthor ($ this ->getUser ());
@@ -86,7 +86,7 @@ public function new(Request $request): Response
86
86
// However, we explicitly add it to improve code readability.
87
87
// See https://symfony.com/doc/current/best_practices/forms.html#handling-form-submits
88
88
if ($ form ->isSubmitted () && $ form ->isValid ()) {
89
- $ post ->setSlug (Slugger:: slugify ($ post ->getTitle ()));
89
+ $ post ->setSlug ($ slugger -> slug ($ post ->getTitle ())-> lower ( ));
90
90
91
91
$ em = $ this ->getDoctrine ()->getManager ();
92
92
$ em ->persist ($ post );
@@ -133,13 +133,13 @@ public function show(Post $post): Response
133
133
* @Route("/{id<\d+>}/edit",methods={"GET", "POST"}, name="admin_post_edit")
134
134
* @IsGranted("edit", subject="post", message="Posts can only be edited by their authors.")
135
135
*/
136
- public function edit (Request $ request , Post $ post ): Response
136
+ public function edit (Request $ request , Post $ post, SluggerInterface $ slugger ): Response
137
137
{
138
138
$ form = $ this ->createForm (PostType::class, $ post );
139
139
$ form ->handleRequest ($ request );
140
140
141
141
if ($ form ->isSubmitted () && $ form ->isValid ()) {
142
- $ post ->setSlug (Slugger:: slugify ($ post ->getTitle ()));
142
+ $ post ->setSlug ($ slugger -> slug ($ post ->getTitle ())-> lower ( ));
143
143
$ this ->getDoctrine ()->getManager ()->flush ();
144
144
145
145
$ this ->addFlash ('success ' , 'post.updated_successfully ' );
0 commit comments