You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
vendor-internal/ # Bundled PHP-Parser (do not modify)
51
-
tests/
52
-
bootstrap.php # Test runner and assertions
53
-
run-all.php # Runs all test files
54
-
*Test.php # Individual test files
55
-
```
16
+
All code must run on PHP 7.4 through 8.4. That means no:
56
17
57
-
## Playground — Testing Your Changes
18
+
-`mixed` type hints (use `#[\ReturnTypeWillChange]` where needed)
19
+
- named arguments, `match`, union types, `readonly`, enums, fibers
58
20
59
-
The playground lets you test the debug engine and framework integrations directly
60
-
from the terminal, without the DDLess desktop app. Use it to validate your changes
61
-
before submitting a PR.
21
+
When in doubt: [php.net/migration80](https://www.php.net/migration80).
62
22
63
-
### Setup
23
+
##Playground
64
24
65
-
Clone ddless-engine **at the root of a real PHP project** (alongside `composer.json`):
25
+
The playground lets you test the engine and framework integrations from the terminal, without the desktop app. It expects ddless-engine to live inside a real PHP project:
66
26
67
27
```
68
-
/var/www/html/ ← your project root (has composer.json)
> **This is the PHP engine only.** For the full debugging experience (desktop app, UI, AI Copilot, Task Runner), visit [ddless.com](https://ddless.com)
5
+
The PHP runtime engine behind [DDLess](https://ddless.com) — a visual step-through debugger for PHP.
6
6
7
-
The PHP runtime engine that powers [DDLess](https://ddless.com) — a visual debugger for PHP applications.
7
+
This repo contains the engine only. The desktop app, UI, and AI Copilot are available at [ddless.com](https://ddless.com).
8
8
9
-
This engine handles code instrumentation, breakpoint management, step-through execution, and variable inspection. It works with any PHP project (vanilla PHP, Laravel, Symfony, etc.) running on PHP 7.4+.
9
+
## What it does
10
10
11
-
## How It Works
11
+
ddless-engine parses PHP source via AST ([nikic/PHP-Parser](https://github.com/nikic/PHP-Parser)), injects `ddless_step_check()` calls before each executable line using a custom stream wrapper, and communicates with the desktop app through file-based IPC. Your original files are never modified on disk.
12
12
13
-
DDLess uses AST-based analysis (via [nikic/PHP-Parser](https://github.com/nikic/PHP-Parser)) to understand your code structure. It injects step-check calls before each executable line, allowing the debugger to pause, inspect variables, and control execution flow — all without modifying your original files.
0 commit comments