@@ -25,27 +25,30 @@ class TokenManager extends BaseTokenManager
25
25
*/
26
26
protected $ em ;
27
27
28
- /**
29
- * @var EntityRepository
30
- */
31
- protected $ repository ;
32
-
33
28
/**
34
29
* @var string
35
30
*/
36
31
protected $ class ;
37
32
38
33
public function __construct (EntityManagerInterface $ em , $ class )
39
34
{
40
- // NOTE: bug in Doctrine, hinting EntityRepository|ObjectRepository when only EntityRepository is expected
41
- /** @var EntityRepository $repository */
42
- $ repository = $ em ->getRepository ($ class );
43
-
44
35
$ this ->em = $ em ;
45
- $ this ->repository = $ repository ;
46
36
$ this ->class = $ class ;
47
37
}
48
38
39
+ /**
40
+ * retrocompatibility with old $repository property
41
+ * @param $name
42
+ * @return mixed
43
+ */
44
+ public function __get ($ name )
45
+ {
46
+ if ('repository ' === $ name ){
47
+ return $ this ->getRepository ();
48
+ }
49
+
50
+ return $ this ->$ name ;
51
+ }
49
52
/**
50
53
* {@inheritdoc}
51
54
*/
@@ -59,7 +62,7 @@ public function getClass()
59
62
*/
60
63
public function findTokenBy (array $ criteria )
61
64
{
62
- return $ this ->repository ->findOneBy ($ criteria );
65
+ return $ this ->getRepository () ->findOneBy ($ criteria );
63
66
}
64
67
65
68
/**
@@ -85,7 +88,7 @@ public function deleteToken(TokenInterface $token)
85
88
*/
86
89
public function deleteExpired ()
87
90
{
88
- $ qb = $ this ->repository ->createQueryBuilder ('t ' );
91
+ $ qb = $ this ->getRepository () ->createQueryBuilder ('t ' );
89
92
$ qb
90
93
->delete ()
91
94
->where ('t.expiresAt < ?1 ' )
@@ -94,4 +97,12 @@ public function deleteExpired()
94
97
95
98
return $ qb ->getQuery ()->execute ();
96
99
}
100
+
101
+ /**
102
+ * @return EntityRepository
103
+ */
104
+ protected function getRepository (): EntityRepository
105
+ {
106
+ return $ this ->em ->getRepository ($ this ->class );
107
+ }
97
108
}
0 commit comments