mirror of
https://github.com/predis/predis.git
synced 2026-08-22 10:11:08 +00:00
57 lines
1.4 KiB
PHP
57 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace Predis\Commands\Preprocessors;
|
|
|
|
class PreprocessorChain implements ICommandPreprocessorChain, \ArrayAccess {
|
|
private $_preprocessors;
|
|
|
|
public function __construct($preprocessors = array()) {
|
|
foreach ($preprocessors as $preprocessor) {
|
|
$this->add($preprocessor);
|
|
}
|
|
}
|
|
|
|
public function add(ICommandPreprocessor $preprocessor) {
|
|
$this->_preprocessors[] = $preprocessor;
|
|
}
|
|
|
|
public function remove(ICommandPreprocessor $preprocessor) {
|
|
// TODO: find index of value
|
|
}
|
|
|
|
public function process(&$method, &$arguments) {
|
|
$count = count($this->_preprocessors);
|
|
for ($i = 0; $i < $count; $i++) {
|
|
$this->_preprocessors[$i]->process($method, $arguments);
|
|
}
|
|
}
|
|
|
|
public function getPreprocessors() {
|
|
return $this->_preprocessors;
|
|
}
|
|
|
|
public function getIterator() {
|
|
return new \ArrayIterator($this->_preprocessors);
|
|
}
|
|
|
|
public function count() {
|
|
return count($this->_preprocessors);
|
|
}
|
|
|
|
public function offsetExists($index) {
|
|
return isset($this->_preprocessors[$index]);
|
|
}
|
|
|
|
public function offsetGet($index) {
|
|
return $this->_preprocessors[$index];
|
|
}
|
|
|
|
public function offsetSet($index, $preprocessor) {
|
|
$this->_preprocessors[$index] = $preprocessor;
|
|
}
|
|
|
|
public function offsetUnset($index) {
|
|
unset($this->_preprocessors[$index]);
|
|
}
|
|
}
|