%PDF- %PDF-
| Direktori : /www/varak.net/wiki.varak.net/vendor/wikimedia/remex-html/RemexHtml/Tokenizer/ |
| Current File : //www/varak.net/wiki.varak.net/vendor/wikimedia/remex-html/RemexHtml/Tokenizer/PlainAttributes.php |
<?php
namespace RemexHtml\Tokenizer;
/**
* An Attributes implementation which is a simple array proxy.
*/
class PlainAttributes implements Attributes {
protected $data;
protected $attrObjects;
public function __construct( $data = [] ) {
$this->data = $data;
}
public function merge( Attributes $other ) {
foreach ( $other as $name => $value ) {
if ( !isset( $this[$name] ) ) {
$this[$name] = $value;
}
}
}
public function offsetExists( $key ) {
return isset( $this->data[$key] );
}
public function offsetGet( $key ) {
return $this->data[$key];
}
public function offsetSet( $key, $value ) {
$this->data[$key] = $value;
}
public function offsetUnset( $key ) {
unset( $this->data[$key] );
}
public function getIterator() {
return new ArrayIterator( $this->data );
}
public function getValues() {
return $this->data;
}
public function getObjects() {
if ( $this->attrObjects === null ) {
$result = [];
foreach ( $this->data as $name => $value ) {
$result[$name] = new Attribute( $name, null, null, $name, $value );
}
$this->attrObjects = $result;
}
return $this->attrObjects;
}
public function count() {
return count( $this->data );
}
}