Ray Desktop Debugging for PHP

News

January 7th, 2021

Ray is a desktop app for macOS and Windows that displays debugging information in a dedicated window. When I reviewed Ray, I was blown away by the ability to pause execution to inspect data sent to Ray—the ability to examine the state of database records in the middle of a request is incredible!

Ray is going to be a fantastic companion to your PHP workflow. You might even find that it’s easier to get started with than XDebug or other alternative methods you’ve used for code debugging.

Some of its main features at launch include:

  • A framework-agnostic PHP package and Laravel package to start logging from your apps to the Ray desktop app
  • Define colors of logs to filter by various colors that relate to debugging code
  • Measure performance and see the output in Ray
  • Ability to pause code to inspect data, API calls, etc. before proceeding
  • Display desktop notifications from Ray PHP debugging code
  • See the caller and entire call stack from a certain point in the code
  • Laravel-specific helpers that aid debugging in Laravel apps:
    • Clean model debug output with attribute values
    • Send database queries to Ray
    • Ray receives calls to the Laravel logger automatically
    • Displays mailables automatically
    • Manual control over sending mailables
    • Use Ray to debug data in blade views
    • Show events fired during execution

Apart from the awesome features you can use in all PHP codebases; the Laravel-specific debugging tools look slick:

// Clean dump version of a model with attribute values
ray()->model($user);

// Send all queries to Ray
ray()->showQueries();

// Show queries executed within this closure
ray()->showQueries(function() {
    // some code that executes queries
});

// Ray receives logger calls automatically
Log::info('using the facade to log something');
info('using the helper function to log something');

// Manually show a mailable
ray()->mailable(new MyMailable());

The app has a free tier that enables users to log ten items per session. You can unlock the full version of the application by purchasing a license.

If you would like to learn more about Ray, check out Freek Van der Herten’s detailed writeup about the launch of this exciting new debugging app. You can download the app now from myray.app.

Filed in:

Paul Redmond

Full stack web developer. Author of Lumen Programming Guide and Docker for PHP Developers.