public function load($var, $level = 1) { if (!$this->isResource($var)) { throw new InvalidVariableTypeException(); } $this->level = $level; $this->resourceType = get_resource_type($var); $this->resourceId = (int) $var; if ($this->resourceType == 'stream') { $stream_vars = stream_get_meta_data($var); // prevent unix sistems getting stream in files if (isset($stream_vars['stream_type']) && $stream_vars['stream_type'] == 'STDIO') { $this->resourceType = 'file'; } } $this->variableWrapper = new VariableWrapper($this->getResourceType(), $var, VariableWrapper::TYPE_RESOURCE); // metadata if ($this->metadataResolver->has($this->variableWrapper)) { $metadata = $this->metadataResolver->get($this->variableWrapper); if (array_key_exists('help_link', $metadata)) { $this->helpLink = $metadata['help_link']; } if (array_key_exists('icon', $metadata)) { $this->icon = $metadata['icon']; } if (array_key_exists('version', $metadata)) { $this->version = $metadata['version']; } } // Resource data $this->loadData($var); }
public function load($var, $level = 1) { if (!is_object($var)) { throw new InvalidVariableTypeException(); } $this->level = $level; $this->className = get_class($var); $this->toString = method_exists($var, '__toString') ? $var->__toString() : null; if ($this->level < $this->maxLevel) { $this->terminal = false; $reflectedClass = new \ReflectionClass($this->className); // Class info $this->loadClassInfo($reflectedClass); $this->variableWrapper = new VariableWrapper($this->className, $var, VariableWrapper::TYPE_CLASS); // Object data $this->loadData($var, $reflectedClass); // Class constants $this->loadClassConstants($reflectedClass); // Object properties //$this->loadObjectProperties($reflectedClass); // Class methods $this->loadClassMethods($reflectedClass); // metadata if ($this->metadataResolver->has($this->variableWrapper)) { $metadata = $this->metadataResolver->get($this->variableWrapper); if (array_key_exists('help_link', $metadata)) { $this->helpLink = $metadata['help_link']; } if (array_key_exists('icon', $metadata)) { $this->icon = $metadata['icon']; } if (array_key_exists('version', $metadata)) { $this->version = $metadata['version']; } } } else { $this->terminal = true; } }