PluginProbe
GetResponse Forms by Optin Cat / 1.4.1
GetResponse Forms by Optin Cat v1.4.1
1.3.4 1.3.5 1.3.6 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.1 1.6.2 1.6.3 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 2.0.0 All 36 releases
getresponse / includes / classes / Mustache / HelperCollection.php

HelperCollection.php in GetResponse Forms by Optin Cat 1.4.1, at includes/classes/Mustache/HelperCollection.php

173 lines 3.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /*
4 * This file is part of Mustache.php.
5 *
6 * (c) 2010-2014 Justin Hileman
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12 /**
13 * A collection of helpers for a Mustache instance.
14 */
15 class Mustache_HelperCollection
16 {
17 private $helpers = array();
18
19 /**
20 * Helper Collection constructor.
21 *
22 * Optionally accepts an array (or Traversable) of `$name => $helper` pairs.
23 *
24 * @throws Mustache_Exception_InvalidArgumentException if the $helpers argument isn't an array or Traversable
25 *
26 * @param array|Traversable $helpers (default: null)
27 */
28 public function __construct($helpers = null)
29 {
30 if ($helpers === null) {
31 return;
32 }
33
34 if (!is_array($helpers) && !$helpers instanceof Traversable) {
35 throw new Mustache_Exception_InvalidArgumentException('HelperCollection constructor expects an array of helpers');
36 }
37
38 foreach ($helpers as $name => $helper) {
39 $this->add($name, $helper);
40 }
41 }
42
43 /**
44 * Magic mutator.
45 *
46 * @see Mustache_HelperCollection::add
47 *
48 * @param string $name
49 * @param mixed $helper
50 */
51 public function __set($name, $helper)
52 {
53 $this->add($name, $helper);
54 }
55
56 /**
57 * Add a helper to this collection.
58 *
59 * @param string $name
60 * @param mixed $helper
61 */
62 public function add($name, $helper)
63 {
64 $this->helpers[$name] = $helper;
65 }
66
67 /**
68 * Magic accessor.
69 *
70 * @see Mustache_HelperCollection::get
71 *
72 * @param string $name
73 *
74 * @return mixed Helper
75 */
76 public function __get($name)
77 {
78 return $this->get($name);
79 }
80
81 /**
82 * Get a helper by name.
83 *
84 * @throws Mustache_Exception_UnknownHelperException If helper does not exist.
85 *
86 * @param string $name
87 *
88 * @return mixed Helper
89 */
90 public function get($name)
91 {
92 if (!$this->has($name)) {
93 throw new Mustache_Exception_UnknownHelperException($name);
94 }
95
96 return $this->helpers[$name];
97 }
98
99 /**
100 * Magic isset().
101 *
102 * @see Mustache_HelperCollection::has
103 *
104 * @param string $name
105 *
106 * @return boolean True if helper is present
107 */
108 public function __isset($name)
109 {
110 return $this->has($name);
111 }
112
113 /**
114 * Check whether a given helper is present in the collection.
115 *
116 * @param string $name
117 *
118 * @return boolean True if helper is present
119 */
120 public function has($name)
121 {
122 return array_key_exists($name, $this->helpers);
123 }
124
125 /**
126 * Magic unset().
127 *
128 * @see Mustache_HelperCollection::remove
129 *
130 * @param string $name
131 */
132 public function __unset($name)
133 {
134 $this->remove($name);
135 }
136
137 /**
138 * Check whether a given helper is present in the collection.
139 *
140 * @throws Mustache_Exception_UnknownHelperException if the requested helper is not present.
141 *
142 * @param string $name
143 */
144 public function remove($name)
145 {
146 if (!$this->has($name)) {
147 throw new Mustache_Exception_UnknownHelperException($name);
148 }
149
150 unset($this->helpers[$name]);
151 }
152
153 /**
154 * Clear the helper collection.
155 *
156 * Removes all helpers from this collection
157 */
158 public function clear()
159 {
160 $this->helpers = array();
161 }
162
163 /**
164 * Check whether the helper collection is empty.
165 *
166 * @return boolean True if the collection is empty
167 */
168 public function isEmpty()
169 {
170 return empty($this->helpers);
171 }
172 }
173