Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 98c4b5f

Browse filesBrowse files
committed
ensure compatibility with PHP 8 stack traces
1 parent 13982b5 commit 98c4b5f
Copy full SHA for 98c4b5f

File tree

2 files changed

+21
-8
lines changed
Filter options

2 files changed

+21
-8
lines changed

‎src/Symfony/Component/Cache/Adapter/PhpArrayAdapter.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Adapter/PhpArrayAdapter.php
+11-3Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -275,10 +275,18 @@ public static function throwOnRequiredClass($class)
275275
'function' => 'spl_autoload_call',
276276
'args' => [$class],
277277
];
278-
$i = 1 + array_search($autoloadFrame, $trace, true);
279278

280-
if (isset($trace[$i]['function']) && !isset($trace[$i]['class'])) {
281-
switch ($trace[$i]['function']) {
279+
if (\PHP_VERSION_ID >= 80000 && isset($trace[1])) {
280+
$callerFrame = $trace[1];
281+
$i = 2;
282+
} elseif (false !== $i = array_search($autoloadFrame, $trace, true)) {
283+
$callerFrame = $trace[++$i];
284+
} else {
285+
throw $e;
286+
}
287+
288+
if (isset($callerFrame['function']) && !isset($callerFrame['class'])) {
289+
switch ($callerFrame['function']) {
282290
case 'get_class_methods':
283291
case 'get_class_vars':
284292
case 'get_parent_class':

‎src/Symfony/Component/Config/Resource/ClassExistenceResource.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Config/Resource/ClassExistenceResource.php
+10-5Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -190,12 +190,17 @@ public static function throwOnRequiredClass($class, \Exception $previous = null)
190190
'args' => [$class],
191191
];
192192

193-
if (false === $i = array_search($autoloadFrame, $trace, true)) {
193+
if (\PHP_VERSION_ID >= 80000 && isset($trace[1])) {
194+
$callerFrame = $trace[1];
195+
$i = 2;
196+
} elseif (false !== $i = array_search($autoloadFrame, $trace, true)) {
197+
$callerFrame = $trace[++$i];
198+
} else {
194199
throw $e;
195200
}
196201

197-
if (isset($trace[++$i]['function']) && !isset($trace[$i]['class'])) {
198-
switch ($trace[$i]['function']) {
202+
if (isset($callerFrame['function']) && !isset($callerFrame['class'])) {
203+
switch ($callerFrame['function']) {
199204
case 'get_class_methods':
200205
case 'get_class_vars':
201206
case 'get_parent_class':
@@ -214,8 +219,8 @@ public static function throwOnRequiredClass($class, \Exception $previous = null)
214219
}
215220

216221
$props = [
217-
'file' => isset($trace[$i]['file']) ? $trace[$i]['file'] : null,
218-
'line' => isset($trace[$i]['line']) ? $trace[$i]['line'] : null,
222+
'file' => isset($callerFrame['file']) ? $callerFrame['file'] : null,
223+
'line' => isset($callerFrame['line']) ? $callerFrame['line'] : null,
219224
'trace' => \array_slice($trace, 1 + $i),
220225
];
221226

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.