Skip to content

behindSolution/ddless-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ddless-engine

Tests

The PHP runtime engine behind DDLess — a visual step-through debugger for PHP.

This repo contains the engine only. The desktop app, UI, and AI Copilot are available at ddless.com.

What it does

ddless-engine parses PHP source via AST (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.

Supports breakpoints (conditional, logpoints, dumppoints), step-in/over/out, watch expressions, variable inspection, and trace mode.

Frameworks

Laravel · Symfony · CodeIgniter 4 · Tempest · WordPress · vanilla PHP

Project layout

src/
├── debug.php                Core engine (AST analysis, instrumentation, breakpoint handler)
├── http_trigger.php         Entry point for HTTP debug sessions
├── method_trigger.php       Entry point for method-level debugging
├── cli_trigger.php          Entry point for CLI script debugging
├── task_trigger.php         Entry point for task/command debugging
├── ssh_proxy_router.php     SSH remote debugging support
├── frameworks/              Framework-specific request handling and bootstrapping
│   ├── laravel/
│   ├── symfony/
│   ├── codeigniter/
│   ├── tempest/
│   ├── wordpress/
│   └── php/
├── sessions/                File-based IPC (runtime ↔ desktop app)
├── cache/                   Pre-instrumented code cache
└── vendor-internal/         Bundled PHP-Parser (no Composer required)

Requirements

  • PHP 7.4+ (tested up to 8.5)
  • json extension (ships with PHP by default)
  • No external dependencies

Tests

php tests/run-all.php

Or run individually:

php tests/NormalizeValueTest.php
php tests/InstrumentCodeAstTest.php
php tests/HttpRequestTest.php

CI runs against PHP 7.4+ on every push and PR.

License

Source-available. See LICENSE.

About

PHP debug engine that works without extensions — AST instrumentation + file-based IPC. Powers DDLess.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages