/** * Compiles given DOM element with directive restricted to classes. * * @param \DOMElement $element DOM element to compile. * @param Directive $directive Directive with classes restriction('C'). * @return boolean Returns false if compilation should stop, true otherwise. */ protected function compileClass(\DOMElement $element, Directive $directive) { $directiveName = $directive->getName(); if (Utils::hasClass($element, $directiveName) === true) { $directive->compile($element, $this->getScope()); } return $directive->doesInterrupt(); }
/** * Registers Directive object. * Directive's method compile() will be called each time given name is * found inside matching restrict DOM part. * compile() method is called with entire\ DOMElement. * * @param Directive $directive New directive object. */ public function addDirective(Directive $directive) { if ($directive->getName() === null) { throw new \InvalidArgumentException(sprintf('Directive "%s" does not have a name!', get_class($directive))); } $this->directives->insert($directive, $directive->getPriority()); }