Skip to content

yii2-extensions/debug

Repository files navigation

Debug


php-version yii2-version PHPUnit Compatibility Codecov

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --dev --prefer-dist yii2-extensions/debug

or add

"yii2-extensions/debug": "dev-main"

to the require-dev section of your composer.json file.

Usage

Once the extension is installed, simply modify your application configuration as follows:

return [
    'bootstrap' => ['debug'],
    'modules' => [
        'debug' => [
            'class' => 'yii\debug\Module',
            // uncomment and adjust the following to add your IP if you are not connecting from localhost.
            //'allowedIPs' => ['127.0.0.1', '::1'],
        ],
        // ...
    ],
    ...
];

You will see a debugger toolbar showing at the bottom of every page of your application. You can click on the toolbar to see more detailed debug information.

Open Files in IDE

You can create a link to open files in your favorite IDE with this configuration:

return [
    'bootstrap' => ['debug'],
    'modules' => [
        'debug' => [
            'class' => 'yii\debug\Module',
            'traceLine' => '<a href="phpstorm://open?url={file}&line={line}">{file}:{line}</a>',
            // uncomment and adjust the following to add your IP if you are not connecting from localhost.
            //'allowedIPs' => ['127.0.0.1', '::1'],
        ],
        // ...
    ],
    ...
];

You must make some changes to your OS. See these examples:

Virtualized or dockerized

If your application is run under a virtualized or dockerized environment, it is often the case that the application's base path is different inside of the virtual machine or container than on your host machine. For the links work in those situations, you can configure tracePathMappings like this (change the path to your app):

'tracePathMappings' => [
    '/app' => '/path/to/your/app',
],

Or you can create a callback for traceLine for even more control:

'traceLine' => function($options, $panel) {
    $filePath = $options['file'];
    if (StringHelper::startsWith($filePath, Yii::$app->basePath)) {
        $filePath = '/path/to/your/app' . substr($filePath, strlen(Yii::$app->basePath));
    }
    return strtr('<a href="ide://open?url=file://{file}&line={line}">{text}</a>', ['{file}' => $filePath]);
},

Configure with yiisoft/config

Add the following code to your config/config-plugin file in your application.

'config-plugin' => [
    'web' => [
        '$yii2-debug', // add this line
        'web/*.php'
    ],
],

For activate the debug toolbar, add in your config/params.php file in your application.

return [
    'yii2.debug' => true,
];

For change allowed IPs, add in your config/params.php file in your application.

return [
    'yii2.debug.allowedIPs' => ['192.168.1.1'],
];

For class map module, add in your config/params.php file in your application.

use App\YourClass;

return [
    'yii2.debug.classMap' => [
        'class' => YourClass::class,
    ],
];

Testing

Check the documentation testing to learn about testing.

Support versions Yii2

Yii20 Yii22

Quality code

static-analysis phpstan-level StyleCI

Our social networks

Twitter

License

The MIT License. Please see License File for more information.