Skip to content

Commit b35dfa8

Browse files
Jean85scheb
andauthored
Fix class_alias issues (#309)
* Fix conflict with other bundles when creating alias for Symfony's RequestEvent * Add changelog entry * Slate release for today Co-authored-by: Christian Scheb <[email protected]>
1 parent ff7de7b commit b35dfa8

File tree

3 files changed

+32
-14
lines changed

3 files changed

+32
-14
lines changed

Diff for: CHANGELOG.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
66

77
## Unreleased
88

9-
- ...
9+
10+
## 3.4.1 (2020-01-24)
11+
- Fix issue due to usage of `class_alias` to fix deprecations, which could break BC layers of third party packages (#309, thanks to @scheb)
1012

1113
## 3.4.0 (2020-01-20)
1214
- Add support for `sentry/sentry` 2.3 (#298)

Diff for: src/EventListener/RequestListener.php

+18-9
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,24 @@
99
use Symfony\Component\HttpKernel\Event\FilterControllerEvent;
1010
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
1111
use Symfony\Component\HttpKernel\Event\RequestEvent;
12+
use Symfony\Component\HttpKernel\Kernel;
1213
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
1314
use Symfony\Component\Security\Core\User\UserInterface;
1415

15-
if (! class_exists(RequestEvent::class)) {
16-
class_alias(GetResponseEvent::class, RequestEvent::class);
17-
}
18-
19-
if (! class_exists(ControllerEvent::class)) {
20-
class_alias(FilterControllerEvent::class, ControllerEvent::class);
16+
if (Kernel::MAJOR_VERSION >= 5) {
17+
if (! class_exists('Sentry\SentryBundle\EventListener\UserContextRequestEvent')) {
18+
class_alias(RequestEvent::class, 'Sentry\SentryBundle\EventListener\UserContextRequestEvent');
19+
}
20+
if (! class_exists('Sentry\SentryBundle\EventListener\UserContextControllerEvent')) {
21+
class_alias(ControllerEvent::class, 'Sentry\SentryBundle\EventListener\UserContextControllerEvent');
22+
}
23+
} else {
24+
if (! class_exists('Sentry\SentryBundle\EventListener\UserContextRequestEvent')) {
25+
class_alias(GetResponseEvent::class, 'Sentry\SentryBundle\EventListener\UserContextRequestEvent');
26+
}
27+
if (! class_exists('Sentry\SentryBundle\EventListener\UserContextControllerEvent')) {
28+
class_alias(FilterControllerEvent::class, 'Sentry\SentryBundle\EventListener\UserContextControllerEvent');
29+
}
2130
}
2231

2332
/**
@@ -48,9 +57,9 @@ public function __construct(
4857
/**
4958
* Set the username from the security context by listening on core.request
5059
*
51-
* @param RequestEvent $event
60+
* @param UserContextRequestEvent $event
5261
*/
53-
public function onKernelRequest(RequestEvent $event): void
62+
public function onKernelRequest(UserContextRequestEvent $event): void
5463
{
5564
if (! $event->isMasterRequest()) {
5665
return;
@@ -85,7 +94,7 @@ public function onKernelRequest(RequestEvent $event): void
8594
});
8695
}
8796

88-
public function onKernelController(ControllerEvent $event): void
97+
public function onKernelController(UserContextControllerEvent $event): void
8998
{
9099
if (! $event->isMasterRequest()) {
91100
return;

Diff for: src/EventListener/SubRequestListener.php

+11-4
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,26 @@
66
use Symfony\Component\HttpKernel\Event\FinishRequestEvent;
77
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
88
use Symfony\Component\HttpKernel\Event\RequestEvent;
9+
use Symfony\Component\HttpKernel\Kernel;
910

10-
if (! class_exists(RequestEvent::class)) {
11-
class_alias(GetResponseEvent::class, RequestEvent::class);
11+
if (Kernel::MAJOR_VERSION >= 5) {
12+
if (! class_exists('Sentry\SentryBundle\EventListener\UserContextRequestEvent')) {
13+
class_alias(RequestEvent::class, 'Sentry\SentryBundle\EventListener\UserContextRequestEvent');
14+
}
15+
} else {
16+
if (! class_exists('Sentry\SentryBundle\EventListener\UserContextRequestEvent')) {
17+
class_alias(GetResponseEvent::class, 'Sentry\SentryBundle\EventListener\UserCon textRequestEvent');
18+
}
1219
}
1320

1421
final class SubRequestListener
1522
{
1623
/**
1724
* Pushes a new {@see Scope} for each SubRequest
1825
*
19-
* @param RequestEvent $event
26+
* @param UserContextRequestEvent $event
2027
*/
21-
public function onKernelRequest(RequestEvent $event): void
28+
public function onKernelRequest(UserContextRequestEvent $event): void
2229
{
2330
if ($event->isMasterRequest()) {
2431
return;

0 commit comments

Comments
 (0)