jspeedz / debug-pooper-symfony
Some more debugging methods to be used in a symfony framework (or standalone)
Installs: 27 257
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 1
Requires
- ext-dom: *
- ext-simplexml: *
Requires (Dev)
- php: ^7.1
- ext-pdo: ^7.1
- doctrine/dbal: ^2.8
- php-coveralls/php-coveralls: 2.1.x-dev
- phpunit/phpunit: ^7.5@dev
- symfony/var-dumper: ^4.1
README
Tired of using symfony's dump(); method? Use 💩(); instead!
More useful features
Dumping prepared statements
Dumping prepared statements into a readable, and usually executable SQL strings can be useful.
Example 1:
dumpQuery( 'SELECT 1 FROM x WHERE y = ?', [ 1234 ], [ \PDO::PARAM_INT ] );
Result:
SELECT 1 FROM x WHERE y = 1234
Example 2:
dumpQuery( 'SELECT 1 FROM x WHERE y = :some_named_value', [ 'some_named_value' => 1234 ], [ \PDO::PARAM_INT ] );
Result:
SELECT 1 FROM x WHERE y = 1234
Dumping request information
dumpRequest();
Result:
To be determined..
Dumping simple XML element objects
Converting and dumping SimpleXmlObjects into a readable string.
Example 1:
dumpSimpleXmlElement( simplexml_load_string('<?xml version="1.0" encoding="utf-8" ?><root><someElement>someValue</someElement></root>') );
Result:
[
Element {
Name: 'root'
String Content: ''
Content in Default Namespace
Children: 1 - 1 'someElement'
Attributes: 0
}
]
Dumping simple XML element object trees
Converting and dumping SimpleXmlObjects into a readable tree string.
Example 1:
dumpSimpleXmlElementTree( simplexml_load_string('<?xml version="1.0" encoding="utf-8" ?><root><someElement>someValue</someElement></root>') );
Result:
[0] // <root>
->someElement[0]
(string) 'someValue' (9 chars)
Utilities
Timing a block of code
$timer = debugTimer(); sleep(1); $timeInMs = $timer();
Code templates
PhpStorm Live templates
if($this->container->getParameter('kernel.environment') === 'dev') { 💩($END$); die(__FILE__ . ':' . __LINE__); }
if($this->container->getParameter('kernel.environment') === 'dev') { dumpQuery($END$); die(__FILE__ . ':' . __LINE__); }
if($this->container->getParameter('kernel.environment') === 'dev') { dumpRequest(); die(__FILE__ . ':' . __LINE__); }
if($this->container->getParameter('kernel.environment') === 'dev') { $timer = debugTimer(); // Do some work 💩($END$); $taskTookMs = $timer(); echo 'Completed task in ' . $taskTookMs . 'ms!' . PHP_EOL; die(__FILE__ . ':' . __LINE__); }
if($this->container->getParameter('kernel.environment') === 'dev') { dumpSimpleXmlElement($END$); die(__FILE__ . ':' . __LINE__); }
if($this->container->getParameter('kernel.environment') === 'dev') { dumpSimpleXmlElementTree($END$); die(__FILE__ . ':' . __LINE__); }
Install
Please only install this package for development:
composer require --dev jspeedz/debug-pooper-symfony
Requirements
- Symfony 3.3+
- PHP 7.1+