1 | <?php |
||||
2 | |||||
3 | declare(strict_types=1); |
||||
4 | |||||
5 | namespace Ecodev\Felix\Acl\Assertion; |
||||
6 | |||||
7 | use Ecodev\Felix\Model\CurrentUser; |
||||
8 | use Laminas\Permissions\Acl\Acl; |
||||
9 | use Laminas\Permissions\Acl\Resource\ResourceInterface; |
||||
10 | use Laminas\Permissions\Acl\Role\RoleInterface; |
||||
11 | |||||
12 | final class IsMyself implements NamedAssertion |
||||
13 | { |
||||
14 | /** |
||||
15 | * Assert that the user is the current user himself. |
||||
16 | * |
||||
17 | * @param \Ecodev\Felix\Acl\Acl $acl |
||||
18 | * @param ?string $privilege |
||||
19 | */ |
||||
20 | 2 | public function assert(Acl $acl, ?RoleInterface $role = null, ?ResourceInterface $resource = null, $privilege = null): bool |
|||
21 | { |
||||
22 | 2 | $user = $resource->getInstance(); |
|||
0 ignored issues
–
show
|
|||||
23 | |||||
24 | 2 | if (CurrentUser::get() && CurrentUser::get() === $user) { |
|||
25 | return true; |
||||
26 | } |
||||
27 | |||||
28 | 2 | return $acl->reject('it is not himself'); |
|||
0 ignored issues
–
show
The method
reject() does not exist on Laminas\Permissions\Acl\Acl . It seems like you code against a sub-type of Laminas\Permissions\Acl\Acl such as Ecodev\Felix\Acl\Acl .
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() |
|||||
29 | } |
||||
30 | |||||
31 | 2 | public function getName(): string |
|||
32 | { |
||||
33 | 2 | return _tr("c'est moi-même"); |
|||
34 | } |
||||
35 | } |
||||
36 |
This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.
This is most likely a typographical error or the method has been renamed.