abbadon1334 / atk4-phpdebugbar
ATK4 UI with PHPDebugBar
Requires
- php: >=7.2.0
- ext-pdo: *
- atk4/ui: dev-develop
- maximebf/debugbar: ^1.15@dev
Requires (Dev)
- atk4/data: dev-develop
- atk4/schema: dev-develop
- codacy/coverage: dev-master
- friendsofphp/php-cs-fixer: dev-master@dev
- monolog/monolog: ^2.0@dev
- phpmd/phpmd: 2.6.0
- phpmetrics/phpmetrics: dev-master@dev
- phpstan/phpstan: 0.11.9
- phpunit/phpunit: *
- squizlabs/php_codesniffer: 3.4.2
- symfony/yaml: ~2.1|~3.0|~4.0
- dev-master
- 1.0.0
- dev-renovate/atk4-ui-5.x
- dev-renovate/major-symfony
- dev-renovate/atk4-ui-4.x
- dev-renovate/major-phpstan-packages
- dev-renovate/monolog-monolog-3.x
- dev-renovate/phpstan-packages
- dev-renovate/phpstan-phpstan-1.x
- dev-renovate/atk4-ui-3.x
- dev-renovate/phpmd-phpmd-2.x
- dev-renovate/pin-dependencies
- dev-renovate/maximebf-debugbar-1.x
- dev-renovate/squizlabs-php_codesniffer-3.x
- dev-renovate/atk4-ui-2.x
- dev-renovate/phpstan-phpstan-0.x
- dev-fix-nested-page-pdo
- dev-abbadon1334-win-patch
- dev-abbadon1334-fix-wrong-namespace
- dev-develop
This package is auto-updated.
Last update: 2024-09-30 01:40:44 UTC
README
atk4-phpdebugbar
ATK4 With PHPDebugBar
First step :
install via composer :
composer require abbadon1334/atk4-phpdebugbar
Use it in ATK
add to atk4\ui\App, just after initLayout :
$debugBar = $app->add( new ATK4PHPDebugBar\DebugBar() )
Configure ATKDebugBar - Assets loading
PHPDebugBar needs to load his own assets (JS and CSS), you need to set the correct relative url :
$debugBar->setAssetsResourcesUrl('http://localhost/test'); /* this will load : #CSS - http://localhost/test/vendor/maximebf/debugbar/src/DebugBar/Resources/vendor/font-awesome/css/font-awesome.min.css - http://localhost/test/vendor/maximebf/debugbar/src/DebugBar/Resources/vendor/highlightjs/styles/github.css - http://localhost/test/vendor/maximebf/debugbar/src/DebugBar/Resources/debugbar.css - http://localhost/test/vendor/maximebf/debugbar/src/DebugBar/Resources/widgets.css - http://localhost/test/vendor/maximebf/debugbar/src/DebugBar/Resources/openhandler.css #JS - http://localhost/test/vendor/maximebf/debugbar/src/DebugBar/Resources/vendor/highlightjs/highlight.pack.js - http://localhost/test/vendor/maximebf/debugbar/src/DebugBar/Resources/debugbar.js - http://localhost/test/vendor/maximebf/debugbar/src/DebugBar/Resources/widgets.js - http://localhost/test/vendor/maximebf/debugbar/src/DebugBar/Resources/openhandler.js */
Configure phpdebugbar resource assets loading :
the asset url is composed by 3 parts : relative,
- resource url =
http://localhost/test
- resource path =
/vendor/maximebf/debugbar/src/DebugBar/Resources
- debugbar path =
/vendor/font-awesome/css/font-awesome.min.css
resource url and resource path can be defined with methods :
setAssetsResourcesUrl(string $url)
setAssetsResourcesPath(string $path)
Example if you use routing :
you have to define a route that serve PHPDebugBar assets :
$debugBar->setAssetsResourcesUrl('/');
$debugBar->setAssetsResourcesPath('debugbar/');
/*
this will load :
- /debugbar/vendor/font-awesome/css/font-awesome.min.css
- /debugbar/openhandler.js
*/
Adding Collectors
For general documentation, look in the really complete documentation of phpdebugbar : http://phpdebugbar.com/docs/data-collectors.html#using-collectors
Adding default Collectors
Add default collectors :
$debugbar->addDefaultCollectors()
OR
$debugbar->addCollector(DebugBar\DataCollector\DataCollectorInterface $collector)
ATK4 Logger Collector
if there is an already defined LoggerInterface in the app it will act as a proxy.
add it in this way : $debugBar->addATK4LoggerCollector()
To interact with the logger :
-
if your App implements
DebugTrait
any calls toLoggerInterface
methodsexample :
$app->info('test msg')
-
if your App implements or not
DebugTrait
, you can call it this way :$app->getDebugBarCollector('atk4-logger')->info('test');
or any other LoggerInterface methods
ATK4 Persistence\SQL Collector
- added in this way
$debugBar->addATK4PersistenceSQLCollector();
, it will add logging to $this->app->db ( $app->db must exists ). - added in this way
$debugBar->addATK4PersistenceSQLCollector($persistence);
, it will add logging to $persistence that must be instance of Persistence\SQL.
No interaction excepted, just add logs to PHPDebugBar of every call to PDO made by Persistence\SQL
Helpers
on Init, ATK4PHPDebugBar will add 3 dynamic methods to AppScope :
-
getDebugBar() : \DebugBar\DebugBar
return object
\DebugBar\DebugBar
-
getDebugBarCollector($collector_name) : DebugBar\DataCollector\DataCollectorInterface
shorthand to
\DebugBar\DebugBar::getCollector
-
hasDebugBarCollector($collector_name) : bool;
shorthand to
\DebugBar\DebugBar::hasCollector
TODO...
Add Unit Test and more examples