className)) { $injectValue = Snowflake::createObject($this->className, $this->args); } else if (Snowflake::app()->has($this->className)) { $injectValue = Snowflake::app()->get($this->className); } else { $injectValue = $this->className; } if (!empty($this->args) && is_object($injectValue)) { Snowflake::configure($injectValue, $this->args); } /** @var ReflectionProperty $property */ if ($property->isPrivate() || $property->isProtected()) { if (!method_exists($handler[0], 'set' . ucfirst($property->getName()))) { return false; } $object->{'set' . ucfirst($property->getName())}($injectValue); } else { $object->$property = $injectValue; } return $object; } }