18
18
use Doctrine \Bundle \FixturesBundle \Fixture ;
19
19
use Doctrine \Persistence \ObjectManager ;
20
20
use Symfony \Component \PasswordHasher \Hasher \UserPasswordHasherInterface ;
21
+ use Symfony \Component \String \AbstractUnicodeString ;
21
22
use Symfony \Component \String \Slugger \SluggerInterface ;
22
23
use function Symfony \Component \String \u ;
23
24
@@ -67,6 +68,8 @@ private function loadTags(ObjectManager $manager): void
67
68
68
69
private function loadPosts (ObjectManager $ manager ): void
69
70
{
71
+ /** @var User $author */
72
+ /** @var array<Tag> $tags */
70
73
foreach ($ this ->getPostData () as [$ title , $ slug , $ summary , $ content , $ publishedAt , $ author , $ tags ]) {
71
74
$ post = new Post ();
72
75
$ post ->setTitle ($ title );
@@ -78,8 +81,11 @@ private function loadPosts(ObjectManager $manager): void
78
81
$ post ->addTag (...$ tags );
79
82
80
83
foreach (range (1 , 5 ) as $ i ) {
84
+ /** @var User $commentAuthor */
85
+ $ commentAuthor = $ this ->getReference ('john_user ' );
86
+
81
87
$ comment = new Comment ();
82
- $ comment ->setAuthor ($ this -> getReference ( ' john_user ' ) );
88
+ $ comment ->setAuthor ($ commentAuthor );
83
89
$ comment ->setContent ($ this ->getRandomText (random_int (255 , 512 )));
84
90
$ comment ->setPublishedAt (new \DateTime ('now + ' .$ i .'seconds ' ));
85
91
@@ -92,6 +98,9 @@ private function loadPosts(ObjectManager $manager): void
92
98
$ manager ->flush ();
93
99
}
94
100
101
+ /**
102
+ * @return array<array{string, string, string, string, array<string>}>
103
+ */
95
104
private function getUserData (): array
96
105
{
97
106
return [
@@ -102,6 +111,9 @@ private function getUserData(): array
102
111
];
103
112
}
104
113
114
+ /**
115
+ * @return string[]
116
+ */
105
117
private function getTagData (): array
106
118
{
107
119
return [
@@ -117,6 +129,11 @@ private function getTagData(): array
117
129
];
118
130
}
119
131
132
+ /**
133
+ * @throws \Exception
134
+ *
135
+ * @return array<int, array{0: string, 1: AbstractUnicodeString, 2: string, 3: string, 4: \DateTime, 5: object, 6: array<object>}>
136
+ */
120
137
private function getPostData (): array
121
138
{
122
139
$ posts = [];
@@ -137,6 +154,9 @@ private function getPostData(): array
137
154
return $ posts ;
138
155
}
139
156
157
+ /**
158
+ * @return string[]
159
+ */
140
160
private function getPhrases (): array
141
161
{
142
162
return [
@@ -226,6 +246,11 @@ private function getPostContent(): string
226
246
MARKDOWN;
227
247
}
228
248
249
+ /**
250
+ * @throws \Exception
251
+ *
252
+ * @return array<object>
253
+ */
229
254
private function getRandomTags (): array
230
255
{
231
256
$ tagNames = $ this ->getTagData ();
0 commit comments