<?php
interface PatternInterface {
function match($value);
}
class LiteralPattern implements PatternInterface {
private $value;
public function match($value) {
return $value === $this->value;
}
}
class DynamicPattern implements PatternInterface {
private $name;
private $value;
public function match($value, &$matches) {
return (bool) preg_match($this->getExpression(), $value, $matches); // i can has $matches?
}
public function getExpression() {
return sprintf('/^(?<%s>%s)$/', $this->name, $this->value);
}
}
Fatal error: Declaration of DynamicPattern::match($value, &$matches) must be compatible with PatternInterface::match($value) in /in/d5IUJ on line 24
Process exited with code 255.
Fatal error: Declaration of DynamicPattern::match($value, &$matches) must be compatible with PatternInterface::match($value) in /in/d5IUJ on line 19
Process exited with code 255.
Fatal error: Declaration of DynamicPattern::match() must be compatible with PatternInterface::match($value) in /in/d5IUJ on line 19
Process exited with code 255.
Fatal error: Declaration of DynamicPattern::match() must be compatible with that of PatternInterface::match() in /in/d5IUJ on line 19
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING in /in/d5IUJ on line 3
Process exited with code 255.