[PRES] [presentations] master: PHP Day 2026 talk

[email protected] (Derick Rethans) Wed, 13 May 2026 09:19:38 +0000
Newsgroups php.pres
Message-ID <[email protected]>
Author: Derick Rethans (derickr)
Date: 2026-05-13T10:19:31+01:00

Commit: https://github.com/php/presentations/commit/ff4e17eae6d86df0b5145dfe265d7bd2c9130cff
Raw diff: https://github.com/php/presentations/commit/ff4e17eae6d86df0b5145dfe265d7bd2c9130cff.diff

PHP Day 2026 talk

Changed paths:
  A  slides/xdebug/log-january-2026.png
  A  slides/xdebug/xdebug-native-path-mapping-todo.xml
  A  xdebug-phpday26.xml
  M  slides/xdebug/transparency.xml


Diff:

diff --git a/slides/xdebug/log-january-2026.png b/slides/xdebug/log-january-2026.png
new file mode 100644
index 00000000..e51a1279
Binary files /dev/null and b/slides/xdebug/log-january-2026.png differ
diff --git a/slides/xdebug/transparency.xml b/slides/xdebug/transparency.xml
index f8234fcd..4fca3135 100644
--- a/slides/xdebug/transparency.xml
+++ b/slides/xdebug/transparency.xml
@@ -2,7 +2,7 @@
 <title>Transparency</title>
 
 <div effect="fade-out">
-<image filename="log-november-2025.png"/>
+<image filename="log-january-2026.png"/>
 </div>
 
 <div effect="fade-in">
diff --git a/slides/xdebug/xdebug-native-path-mapping-todo.xml b/slides/xdebug/xdebug-native-path-mapping-todo.xml
new file mode 100644
index 00000000..09c48fc7
--- /dev/null
+++ b/slides/xdebug/xdebug-native-path-mapping-todo.xml
@@ -0,0 +1,40 @@
+<slide>
+<title>Xdebug 3.6: Native Path Mapping Improvements</title>
+
+<blurb>*🗹* Add %EOF% for marking range from number to end-of-file: </blurb>
+<example inline="2">
+remote_prefix: /usr/local/www
+local_prefix: /home/derick/project
+/example.php:5-*EOF* = /example.php:8
+/aop-created.php:1-10 = /example.php:1
+/aop-created.php:11-*EOF* = /example.php:2-*EOF*
+</example>
+
+<blurb>Add %xdebug_add_source_map_directory()% function to dynamically add directories where will read mapping files from:</blurb>
+<example>
+xdebug_add_source_map_directory(__DIR__ . '/cache/templates/source-map');
+</example>
+
+<blurb>Come up with a better way to describe file/line ranges:</blurb>
+<div effect="fade-out">
+<example>
+elephpant-list-1b6ba908.php:1-20  = elephpant-list.ezt:1
+elephpant-list-1b6ba908.php:21-22 = elephpant-list.ezt:2
+elephpant-list-1b6ba908.php:23    = elephpant-list.ezt:3
+elephpant-list-1b6ba908.php:24-25 = elephpant-list.ezt:4
+</example>
+</div>
+
+<div effect="fade-in-out">
+<example>
+elephpant-list-1b6ba908.php:1-20,21-22,23,24-25  = elephpant-list.ezt:1,2,3,4
+</example>
+</div>
+
+<div effect="fade-in">
+<example inline="2">
+|777777|# elephpant-list-1b6ba908.php:1-20,21-22,23,24-25  = elephpant-list.ezt:1,2,3,4|
+  elephpant-list-1b6ba908.php:AJAAA@AA             = elephpant-list.ezt:A\@A\@A\@A\@
+</example>
+</div>
+</slide>
diff --git a/xdebug-phpday26.xml b/xdebug-phpday26.xml
new file mode 100644
index 00000000..b89864cd
--- /dev/null
+++ b/xdebug-phpday26.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-8"?>
+<presentation css="derick.css">
+<topic>Debugging</topic>
+<title>Saving Time by Using a Debugger</title>
+<event>PhpDay 2026</event>
+<location>Verona, Italy</location>
+<date>M1y 15th, 2026</date>
+<speaker>Derick Rethans</speaker>
+<email>[email protected]</email>
+<mastodon>@[email protected]</mastodon>
+<twitter>derickr</twitter>
+<url>https://derickrethans.nl/talks/xdebug-phpday26</url>
+<joindin>https://xdebug.org</joindin>
+<slide>slides/xdebug/title.xml</slide>
+<slide>slides/mongodb/me.xml</slide>
+
+Code reorganisation
+Modes
+- only do what is needed
+Reduce Configuration Options
+Code Improvements (algorithms, memory, etc)
+<!--<s lide>slides/xdebug/code-reorgnisation.xml</slide>-->
+<!--< slide>slides/xdebug/modes.xml</slide>-->
+<!--<s lide>slides/xdebug/config-settings-3.xml</slide>-->
+<!--<s lide>slides/xdebug/config-settings-3b.xml</slide>-->
+<!--<s lide>slides/xdebug/xdebug-3-speedup-1.xml</slide>-->
+
+- xdebug_info() (demo, VS Code or PhpStorm)
+
+	- an API through xdebug_info() for mode detection (VS Code or PhpStorm)
+		'mode'
+		'extension-flags'
+
+<slide>slides/xdebug/xdebug_info.xml</slide>
+<!-- <s lide>slides/xdebug/xdebug_info-2.xml</slide> -->
+<slide>slides/xdebug/xdebug-native-path-mapping.xml</slide>
+<slide>slides/xdebug/xdebug-native-path-mapping-todo.xml</slide>
+
+
+<slide>slides/xdebug/dbgp-breakpoint-types.xml</slide>
+
+<slide>slides/xdebug/exception_value.xml</slide>
+- exception value as pseudo-variable (VS Code)
+
+<slide>slides/xdebug/xdebug-native-path-skipping.xml</slide>
+
+- xdebug_notify() (demo, VS Code)
+
+<slide>slides/xdebug/xdebug_notify.xml</slide>
+
+- file_link_format (demo, PhpStorm)
+
+<!-- <s lide>slides/xdebug/xdebug_file_link_format.xml</slide>-->
+
+
+  -> ticket
+
+<!--<s lide>slides/xdebug/diagnostic-log.xml</slide> (Also console output) -->
+
+Step debugging improvements
+Step debugging improvements
+
+<slide>slides/xdebug/breakpoint_resolving.xml</slide>
+- breakpoint resolving (demo, PhpStorm)
+
+<slide>slides/xdebug/return_value.xml</slide>
+- return value debugging (demo, VS Code or PhpStorm)
+
+<!-- <s lide>slides/xdebug/breakpoint_not_resolving.xml</slide> -->
+- Xdebug will now also log a warning if an IDE attempts to set a breakpoint on
+  a file that does not exist on the file system. (demo, PhpStorm)
+
+<!-- <sl ide>slides/xdebug/xdebug_connect_to_client.xml</slide> -->
+- xdebug_connect_to_client() (demo, PhpStorm)
+
+<!-- <s lide>slides/xdebug/xdebug_pseudo_hosts.xml</slide> -->
+- xdebug://gateway and xdebug://nameserver (explain)
+
+<slide>slides/xdebug/xdebug-control-socket.xml</slide>
+
+<slide>slides/xdebug/xdebug-future-features.xml</slide>
+
+<slide>slides/xdebug/restaurant.xml</slide>
+
+<slide>slides/xdebug/why-cloud-same-host-01.xml</slide>
+<slide>slides/xdebug/why-cloud-same-host-02.xml</slide>
+
+<slide>slides/xdebug/why-cloud-same-network-01.xml</slide>
+<slide>slides/xdebug/why-cloud-same-network-02.xml</slide>
+<slide>slides/xdebug/why-cloud-same-network-03.xml</slide>
+<slide>slides/xdebug/why-cloud-same-network-04.xml</slide>
+<slide>slides/xdebug/why-cloud-same-network-multiple-01.xml</slide>
+<slide>slides/xdebug/why-cloud-same-network-multiple-02.xml</slide>
+<slide>slides/xdebug/why-cloud-same-network-multiple-03.xml</slide>
+<slide>slides/xdebug/why-cloud-same-network-multiple-04.xml</slide>
+<slide>slides/xdebug/why-cloud-same-network-multiple-05.xml</slide>
+
+<slide>slides/xdebug/why-cloud-foreign-network-ssh-01.xml</slide>
+<slide>slides/xdebug/why-cloud-foreign-network-ssh-02.xml</slide>
+<slide>slides/xdebug/why-cloud-foreign-network-ssh-03.xml</slide>
+<slide>slides/xdebug/why-cloud-foreign-network-ssh-04.xml</slide>
+<slide>slides/xdebug/why-cloud-foreign-network-ssh-05.xml</slide>
+<slide>slides/xdebug/why-cloud-foreign-network-ssh-06.xml</slide>
+
+<slide>slides/xdebug/why-cloud-cloud-01.xml</slide>
+<slide>slides/xdebug/why-cloud-cloud-02.xml</slide>
+<slide>slides/xdebug/why-cloud-cloud-03.xml</slide>
+<slide>slides/xdebug/why-cloud-cloud-04.xml</slide>
+<slide>slides/xdebug/why-cloud-cloud-05.xml</slide>
+<slide>slides/xdebug/why-cloud-cloud-06.xml</slide>
+<slide>slides/xdebug/why-cloud-cloud-08.xml</slide>
+<slide>slides/xdebug/why-cloud-cloud-09.xml</slide>
+
+<slide>slides/xdebug/donate.xml</slide>
+<slide>slides/xdebug/business-support.xml</slide>
+<slide>slides/xdebug/transparency.xml</slide>
+
+
+<!-- <s lide>slides/xdebug/phpinternalsnews.xml</slide> -->
+<slide>slides/mongodb/questions.xml</slide>
+<slide>slides/xdebug/resources.xml</slide>
+
+</presentation>