<?php
class TextOperator
{
const CONTAINS = 'contains';
const CONTAINS_NOT = 'containsnot';
}
abstract class Condition
{
protected $operator;
protected $value;
public function __construct($value, $operator)
{
$this->setValue($value);
$this->setOperator($operator);
}
abstract public function setOperator($operator);
abstract public function setValue($value);
public function getOperator()
{
return $this->operator;
}
public function getValue()
{
return $this->value;
}
}
class TextCondition extends Condition
{
public function __construct($value, $operator = TextOperator::CONTAINS)
{
parent::__construct($value, $operator);
}
public function setOperator($operator)
{
$this->operator = TextOperator::get($operator);
}
public function setValue($value)
{
$this->value = (string)$value;
}
}
$cond1 = new TextCondition(TextOperator::CONTAINS, 'foo');
$cond2 = new TextCondition(TextOperator::CONTAINS, 'bar');
var_dump($cond1, $cond2);
Fatal error: Call to undefined method TextOperator::get() in /in/GkOCD on line 43
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/GkOCD on line 5
Process exited with code 255.
Parse error: parse error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/GkOCD on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/GkOCD on line 5
Process exited with code 255.