diff --git a/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php b/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php index a57b9ae6ea15..62c6a2381a94 100644 --- a/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php +++ b/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php @@ -159,7 +159,11 @@ private function sanitizeQuery($connectionName, $query) private function sanitizeParam($var) { if (is_object($var)) { - return array(sprintf('Object(%s)', get_class($var)), false); + $className = get_class($var); + + return method_exists($var, '__toString') ? + array(sprintf('Object(%s): "%s"', $className, $var->__toString()), false) : + array(sprintf('Object(%s)', $className), false); } if (is_array($var)) { diff --git a/src/Symfony/Bridge/Doctrine/Tests/DataCollector/DoctrineDataCollectorTest.php b/src/Symfony/Bridge/Doctrine/Tests/DataCollector/DoctrineDataCollectorTest.php index 3059f8aba00a..2a39b345e0d6 100644 --- a/src/Symfony/Bridge/Doctrine/Tests/DataCollector/DoctrineDataCollectorTest.php +++ b/src/Symfony/Bridge/Doctrine/Tests/DataCollector/DoctrineDataCollectorTest.php @@ -127,7 +127,13 @@ public function paramProvider() array(null, array(), null, true), array(new \DateTime('2011-09-11'), array('date'), '2011-09-11', true), array(fopen(__FILE__, 'r'), array(), 'Resource(stream)', false), - array(new \SplFileInfo(__FILE__), array(), 'Object(SplFileInfo)', false), + array(new \stdClass(), array(), 'Object(stdClass)', false), + array( + new StringRepresentableClass('presentation test'), + array(), + 'Object(Symfony\Bridge\Doctrine\Tests\DataCollector\StringRepresentableClass): "presentation test"', + false, + ), ); } diff --git a/src/Symfony/Bridge/Doctrine/Tests/DataCollector/StringRepresentableClass.php b/src/Symfony/Bridge/Doctrine/Tests/DataCollector/StringRepresentableClass.php new file mode 100644 index 000000000000..443121eaaea1 --- /dev/null +++ b/src/Symfony/Bridge/Doctrine/Tests/DataCollector/StringRepresentableClass.php @@ -0,0 +1,29 @@ +representation = $representation; + } + + public function __toString() + { + return $this->representation; + } +}