View Issue Details

IDProjectCategoryView StatusLast Update
0002363XdebugStep Debuggingpublic2025-08-27 15:54
Reporterderick Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Target Version3.5dev 
Summary0002363: Add better debugging support for PHP 8.5's pipes
Description

PHP 8.5 introduces pipes, with the following syntax:

<?php
$myString = "Hello World";
$result = $myString
    |> htmlentities(...)
    |> str_split(...)
    |> (fn($x) => array_map(strtoupper(...), $x))
    |> (fn($x) => array_filter($x, fn($v) => $v != 'O'))
    |> (fn($x) => join( ', ', $x));

echo $result, "\n";

Since https://github.com/php/php-src/commit/4d6dde595cda1a34683a050208ffd362fa6e2c43, PHP introduces EXT_STMT opcodes in between each state, with a reference to the TMP variable that holds the value that is sent to the next pipe stage.

Xdebug should expose this value as part of the stack frame.

TagsNo tags attached.
Operating System
PHP Version8.3.5-8.3.9

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2025-08-27 15:54 derick New Issue