Hal\Pattern\Resolver\Structural\Proxy\Proxy::setProxified PHP Method

setProxified() public method

public setProxified ( string $proxified ) : Proxy
$proxified string
return Proxy
    public function setProxified($proxified)
    {
        $this->proxified = $proxified;
        return $this;
    }

Usage Example

 /**
  * 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;
             }
         }
     }
 }