/** * @param Filter $filter * @return void */ public function __construct($filter) { $this->filter = $filter; foreach ($this->filter->getPersistentParams() as $param) { $annotations = self::getAnnotations($this->filter, $param); $column = isset($annotations['column'][0]) ? $annotations['column'][0] : $param; $value = $this->filter->{$param}; if (isset($annotations['var'][0]) && $annotations['var'][0] === '\\DateTime') { $value = new \DateTime($value); } $this->parameters[$param] = array('column' => $column, 'value' => $this->filter->{$param}, 'name' => $annotations['name'][0], 'where' => $this->buildWhere($annotations['operator'][0], $column, $value)); } }