Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

behindSolution/ddless-engine

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
70 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

CakePHP · CodeIgniter 4 · Drupal · Laravel · Vanilla PHP · Symfony · Tempest · WordPress · Yii2

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
│   ├── cakephp/
│   ├── codeigniter/
│   ├── drupal/
│   ├── laravel/
│   ├── php/
│   ├── symfony/
│   ├── tempest/
│   ├── wordpress/
│   └── yii/
├── 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

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.