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.
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.
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:
- PHPStorm: https://github.com/aik099/PhpStormProtocol
- Sublime Text 3 on Windows or Linux: https://packagecontrol.io/packages/subl%20protocol
- Sublime Text 3 on Mac: https://github.com/inopinatus/sublime_url
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]);
},
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,
],
];
Check the documentation testing to learn about testing.
The MIT License. Please see License File for more information.