If an Advice implements this, it may be used as an introduction without an IntroductionAdvisor.
In this case, the advice is self-describing, providing not only the necessary behavior,
but describing the interfaces it introduces.
/** * Return string representation of object * * @return string */ public function __toString() { $adviceClass = get_class($this->advice); $interfaceClasses = join(',', $this->advice->getInterfaces()); return get_called_class() . ": advice [{$adviceClass}]; interfaces [{$interfaceClasses}] "; }