1: | <?php |
2: | |
3: | /** |
4: | * Represents a directive ID in the interchange format. |
5: | */ |
6: | class HTMLPurifier_ConfigSchema_Interchange_Id |
7: | { |
8: | |
9: | /** |
10: | * @type string |
11: | */ |
12: | public $key; |
13: | |
14: | /** |
15: | * @param string $key |
16: | */ |
17: | public function __construct($key) |
18: | { |
19: | $this->key = $key; |
20: | } |
21: | |
22: | /** |
23: | * @return string |
24: | * @warning This is NOT magic, to ensure that people don't abuse SPL and |
25: | * cause problems for PHP 5.0 support. |
26: | */ |
27: | public function toString() |
28: | { |
29: | return $this->key; |
30: | } |
31: | |
32: | /** |
33: | * @return string |
34: | */ |
35: | public function getRootNamespace() |
36: | { |
37: | return substr($this->key, 0, strpos($this->key, ".")); |
38: | } |
39: | |
40: | /** |
41: | * @return string |
42: | */ |
43: | public function getDirective() |
44: | { |
45: | return substr($this->key, strpos($this->key, ".") + 1); |
46: | } |
47: | |
48: | /** |
49: | * @param string $id |
50: | * @return HTMLPurifier_ConfigSchema_Interchange_Id |
51: | */ |
52: | public static function make($id) |
53: | { |
54: | return new HTMLPurifier_ConfigSchema_Interchange_Id($id); |
55: | } |
56: | } |
57: | |
58: | // vim: et sw=4 sts=4 |
59: |