Symfony\Component\CssSelector\Node
AttributeNode{} WC 1.0
Represents a "<selector>[<namespace>|<attribute> <operator> <value>]" node.
This component is a port of the Python cssselect library, which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
Хуков нет.
Возвращает
null
. Null. Ничего.
Использование
$AttributeNode = new AttributeNode();
// use class methods
Методы
- __construct(NodeInterface $selector, $namespace, $attribute, $operator, $value)
- __toString()
- getAttribute()
- getNamespace()
- getOperator()
- getSelector()
- getSpecificity()
- getValue()
Код AttributeNode{} AttributeNode{}
WC 5.1.0
<?php
class AttributeNode extends AbstractNode
{
/**
* @var NodeInterface
*/
private $selector;
/**
* @var string
*/
private $namespace;
/**
* @var string
*/
private $attribute;
/**
* @var string
*/
private $operator;
/**
* @var string
*/
private $value;
/**
* @param NodeInterface $selector
* @param string $namespace
* @param string $attribute
* @param string $operator
* @param string $value
*/
public function __construct(NodeInterface $selector, $namespace, $attribute, $operator, $value)
{
$this->selector = $selector;
$this->namespace = $namespace;
$this->attribute = $attribute;
$this->operator = $operator;
$this->value = $value;
}
/**
* @return NodeInterface
*/
public function getSelector()
{
return $this->selector;
}
/**
* @return string
*/
public function getNamespace()
{
return $this->namespace;
}
/**
* @return string
*/
public function getAttribute()
{
return $this->attribute;
}
/**
* @return string
*/
public function getOperator()
{
return $this->operator;
}
/**
* @return string
*/
public function getValue()
{
return $this->value;
}
/**
* {@inheritdoc}
*/
public function getSpecificity()
{
return $this->selector->getSpecificity()->plus(new Specificity(0, 1, 0));
}
/**
* {@inheritdoc}
*/
public function __toString()
{
$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);
}
}