DI\Definition\Dumper\ObjectDefinitionDumper::dump PHP Method

dump() public method

Returns the definition as string representation.
public dump ( ObjectDefinition $definition ) : string
$definition DI\Definition\ObjectDefinition
return string
    public function dump(ObjectDefinition $definition)
    {
        $className = $definition->getClassName();
        $classExist = class_exists($className) || interface_exists($className);
        // Class
        if (!$classExist) {
            $warning = '#UNKNOWN# ';
        } else {
            $class = new \ReflectionClass($className);
            $warning = $class->isInstantiable() ? '' : '#NOT INSTANTIABLE# ';
        }
        $str = sprintf('    class = %s%s', $warning, $className);
        // Scope
        $str .= PHP_EOL . '    scope = ' . $definition->getScope();
        // Lazy
        $str .= PHP_EOL . '    lazy = ' . var_export($definition->isLazy(), true);
        if ($classExist) {
            // Constructor
            $str .= $this->dumpConstructor($className, $definition);
            // Properties
            $str .= $this->dumpProperties($definition);
            // Methods
            $str .= $this->dumpMethods($className, $definition);
        }
        return sprintf('Object (' . PHP_EOL . '%s' . PHP_EOL . ')', $str);
    }