改名
This commit is contained in:
@@ -107,6 +107,9 @@ class Container extends BaseObject
|
|||||||
private function resolve($class, $constrict, $config): object
|
private function resolve($class, $constrict, $config): object
|
||||||
{
|
{
|
||||||
$reflect = $this->resolveDependencies($class);
|
$reflect = $this->resolveDependencies($class);
|
||||||
|
if (!$reflect->isInstantiable()) {
|
||||||
|
throw new ReflectionException('Class ' . $class . ' cannot be instantiated');
|
||||||
|
}
|
||||||
|
|
||||||
$object = $this->newInstance($reflect, $constrict);
|
$object = $this->newInstance($reflect, $constrict);
|
||||||
|
|
||||||
@@ -210,13 +213,12 @@ class Container extends BaseObject
|
|||||||
/**
|
/**
|
||||||
* @param $class
|
* @param $class
|
||||||
* @return ReflectionClass
|
* @return ReflectionClass
|
||||||
* @throws ReflectionException
|
|
||||||
*/
|
*/
|
||||||
private function resolveDependencies($class): ReflectionClass
|
private function resolveDependencies($class): ReflectionClass
|
||||||
{
|
{
|
||||||
$reflect = new ReflectionClass($class);
|
$reflect = new ReflectionClass($class);
|
||||||
if ($reflect->isAbstract() || !$reflect->isInstantiable()) {
|
if ($reflect->isAbstract() || $reflect->isTrait() || $reflect->isInterface()) {
|
||||||
throw new ReflectionException('Class ' . $class . ' cannot be instantiated');
|
return $this->_reflection[$class] = $reflect;
|
||||||
}
|
}
|
||||||
$this->setPropertyNote($reflect);
|
$this->setPropertyNote($reflect);
|
||||||
$this->setTargetNote($reflect);
|
$this->setTargetNote($reflect);
|
||||||
|
|||||||
Reference in New Issue
Block a user