Skip to content
This repository has been archived by the owner on Jun 23, 2024. It is now read-only.

Latest commit

 

History

History
48 lines (33 loc) · 1.31 KB

breakpoint.md

File metadata and controls

48 lines (33 loc) · 1.31 KB

PsySH for breakpoints

Note: while this work to a certain extend, it is recommended to use xdebug instead for breakpoints and step by step debugging.

As explained in PsySH documentation, it is possible to use PsySH as a debugger by evaluating it where you wish to have a breakpoint. Once this breakpoint reached, a PsySH instance will be launched and then you can debug as you like at this point.

However, this does not work natively with another web server than the PHP build-in web server, neither with Symfony native server. To use it with symfony, you have to launch it manually:

php -S localhost:9000 vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/config/router_dev.php

To use a breakpoint with PsySH, use the following:

psysh();

You can also pass additional parameters:

psysh(['myVar' => $myVar);

Which will give you access to $myVar in the shell. But to avoid to have to pass all variables, you might simply want to bind the shell to you current context:

class Dummy
{
    function myFunction() {
        $x = 'hello World!';
        psysh([], $this);

        // you will have access to $x in your instance
    }
}

« Reflect like a bossBack to Table of Contents »