public setProxified ( string $proxified ) : |
||
$proxified | string | |
Résultat |
/** * Resolve proxies * * A class implements an interface or extends * an (abstract) class, and owns a * reference to a class that implements the * same interface or extends the same (abstract) * class. * * @param ResolvedClass $resolved */ public function resolve(ResolvedClass $resolved) { $class = $resolved->getClass(); $pattern = new Proxy($class->getFullname()); if ($class->getParent() || $class->getInterfaces()) { $deps = $class->getDependencies(); foreach ($deps as $dep) { // does call any class ? $dep = $this->searchClassNamed($dep, $this->classes); if (!$dep || $dep->getFullname() === $class->getFullname()) { continue; } // same parent ? $sameKind = null !== $dep->getParent() && $dep->getParent() === $class->getParent(); // same interface ? $sameKind = $sameKind || sizeof(array_intersect($class->getInterfaces(), $dep->getInterfaces())) > 0; if ($sameKind) { $pattern->setProxified($dep->getFullname()); $resolved->pushPattern($pattern); return; } } } }