Nette\DI\PhpReflection::getDeclaringClass PHP Метод

getDeclaringClass() публичный статический Метод

Returns declaring class or trait.
public static getDeclaringClass ( ReflectionProperty $prop ) : ReflectionClass
$prop ReflectionProperty
Результат ReflectionClass
    public static function getDeclaringClass(\ReflectionProperty $prop)
    {
        foreach ($prop->getDeclaringClass()->getTraits() as $trait) {
            if ($trait->hasProperty($prop->getName())) {
                return self::getDeclaringClass($trait->getProperty($prop->getName()));
            }
        }
        return $prop->getDeclaringClass();
    }

Usage Example

Пример #1
0
 private static function mockInjectedProperties()
 {
     /** @var \ReflectionProperty $property */
     foreach (self::$reflectedClass->getProperties() as $property) {
         if (Nette\DI\PhpReflection::parseAnnotation($property, 'inject') !== NULL || Nette\DI\PhpReflection::parseAnnotation($property, 'autowire') !== NULL) {
             if ($mockedParameterClass = Nette\DI\PhpReflection::parseAnnotation($property, 'var')) {
                 $mockedParameterClass = Nette\DI\PhpReflection::expandClassName($mockedParameterClass, Nette\DI\PhpReflection::getDeclaringClass($property));
             }
             self::setProperty($mockedParameterClass, $property);
         }
     }
 }
All Usage Examples Of Nette\DI\PhpReflection::getDeclaringClass