View Issue Details

IDProjectCategoryView StatusLast Update
0002363XdebugStep Debuggingpublic2025-10-06 10:50
Reporterderick Assigned Toderick  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Target Version3.5devFixed in Version3.5.0alpha2 
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

Issue History

Date Modified Username Field Change
2025-08-27 15:54 derick New Issue
2025-09-04 12:48 derick Assigned To => derick
2025-09-04 12:48 derick Status new => closed
2025-09-04 12:48 derick Resolution open => fixed
2025-09-04 12:48 derick Fixed in Version => 3.5dev
2025-09-04 12:48 derick Note Added: 0007352
2025-10-06 10:50 derick Fixed in Version 3.5dev => 3.5.0alpha2