class AttributeNode
Represents a "<selector>[<namespace>|<attribute> <operator> <value>]" node.
This component is a port of the Python cssselect library, which is copyright Ian Bicking, @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
@internal
Hierarchy
- class \Symfony\Component\CssSelector\Node\AbstractNode implements \Symfony\Component\CssSelector\Node\NodeInterface
- class \Symfony\Component\CssSelector\Node\AttributeNode extends \Symfony\Component\CssSelector\Node\AbstractNode
Expanded class hierarchy of AttributeNode
See also
https://github.com/SimonSapin/cssselect.
File
-
vendor/
symfony/ css-selector/ Node/ AttributeNode.php, line 24
Namespace
Symfony\Component\CssSelector\NodeView source
class AttributeNode extends AbstractNode {
public function __construct(NodeInterface $selector, ?string $namespace, string $attribute, string $operator, ?string $value) {
}
public function getSelector() : NodeInterface {
return $this->selector;
}
public function getNamespace() : ?string {
return $this->namespace;
}
public function getAttribute() : string {
return $this->attribute;
}
public function getOperator() : string {
return $this->operator;
}
public function getValue() : ?string {
return $this->value;
}
public function getSpecificity() : Specificity {
return $this->selector
->getSpecificity()
->plus(new Specificity(0, 1, 0));
}
public function __toString() : string {
$attribute = $this->namespace ? $this->namespace . '|' . $this->attribute : $this->attribute;
return 'exists' === $this->operator ? \sprintf('%s[%s[%s]]', $this->getNodeName(), $this->selector, $attribute) : \sprintf("%s[%s[%s %s '%s']]", $this->getNodeName(), $this->selector, $attribute, $this->operator, $this->value);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
AbstractNode::$nodeName | private | property | ||
AbstractNode::getNodeName | public | function | Overrides NodeInterface::getNodeName | |
AttributeNode::getAttribute | public | function | ||
AttributeNode::getNamespace | public | function | ||
AttributeNode::getOperator | public | function | ||
AttributeNode::getSelector | public | function | ||
AttributeNode::getSpecificity | public | function | Overrides NodeInterface::getSpecificity | |
AttributeNode::getValue | public | function | ||
AttributeNode::__construct | public | function | ||
AttributeNode::__toString | public | function |