Bristol SU Support Package
Filter.php
Go to the documentation of this file.
1 <?php
2 
3 
5 
6 
13 
17 abstract class Filter implements Arrayable
18 {
19 
25  abstract public function model();
26 
34  abstract public function options(): FormSchema;
35 
41  abstract public function hasModel(): bool;
42 
49  abstract public function setModel($model);
50 
58  abstract public function evaluate($settings): bool;
59 
65  abstract public function name();
66 
72  abstract public function description();
73 
79  abstract public function alias();
80 
86  public function toArray()
87  {
88  return [
89  'alias' => $this->alias(),
90  'name' => $this->name(),
91  'description' => $this->description(),
92  'options' => (new VFGTransformer)->transformToArray($this->options())
93  ];
94  }
95 
96 
97 }