for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Noitran\RQL\Expressions;
use Noitran\RQL\Contracts\Expression\ExprInterface;
/**
* Class AbstractExpr.
*/
abstract class AbstractExpr implements ExprInterface
{
* @var string|null
protected $relation;
* @var string
protected $column;
* @var mixed
protected $value;
protected $expression;
protected $operator;
* AbstractExpr constructor.
*
* @param string|null $relation
* @param string $column
* @param mixed $value
public function __construct(?string $relation, string $column, $value)
$this->relation = $relation;
$this->column = $column;
$this->value = $value;
}
* {@inheritdoc}
public function getRelation(): ?string
return $this->relation;
public function getColumn(): string
return $this->column;
public function getValue()
return $this->value;
public function setExpression(string $expression = null): self
$this->expression = $expression;
return $this;
public function getExpression(): string
return $this->expression;
public function setOperator(string $operator = null): self
$this->operator = $operator;
public function getOperator(): ?string
return $this->operator;
* @param $delimiter
* @param $value
* @return array
protected function valueToArray($delimiter, $value): array
return explode($delimiter, $value);