1: | <?php |
2: | /** |
3: | * This file is part of GameQ. |
4: | * |
5: | * GameQ is free software; you can redistribute it and/or modify |
6: | * it under the terms of the GNU Lesser General Public License as published by |
7: | * the Free Software Foundation; either version 3 of the License, or |
8: | * (at your option) any later version. |
9: | * |
10: | * GameQ is distributed in the hope that it will be useful, |
11: | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
12: | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13: | * GNU Lesser General Public License for more details. |
14: | * |
15: | * You should have received a copy of the GNU Lesser General Public License |
16: | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
17: | */ |
18: | |
19: | namespace GameQ\Filters; |
20: | |
21: | use GameQ\Server; |
22: | |
23: | /** |
24: | * Abstract base class which all filters must inherit |
25: | * |
26: | * @author Austin Bischoff <austin@codebeard.com> |
27: | */ |
28: | abstract class Base |
29: | { |
30: | /** |
31: | * Holds the options for this instance of the filter |
32: | * |
33: | * @var array |
34: | */ |
35: | protected $options = []; |
36: | |
37: | /** |
38: | * Construct |
39: | * |
40: | * @param array $options |
41: | */ |
42: | public function __construct(array $options = []) |
43: | { |
44: | $this->options = $options; |
45: | } |
46: | |
47: | public function getOptions() |
48: | { |
49: | return $this->options; |
50: | } |
51: | |
52: | /** |
53: | * Apply the filter to the data |
54: | * |
55: | * @param array $result |
56: | * @param \GameQ\Server $server |
57: | * |
58: | * @return mixed |
59: | */ |
60: | abstract public function apply(array $result, Server $server); |
61: | } |
62: |