@@ -169,6 +169,19 @@ final public static function get($value)
169169 return $ value ;
170170 }
171171
172+ return static ::byValue ($ value );
173+ }
174+
175+ /**
176+ * Get an enumerator instance by the given value
177+ *
178+ * @param mixed $value
179+ * @return static
180+ * @throws InvalidArgumentException On an unknwon or invalid value
181+ * @throws LogicException On ambiguous constant values
182+ */
183+ final public static function byValue ($ value )
184+ {
172185 $ class = get_called_class ();
173186 $ constants = self ::detectConstants ($ class );
174187 $ name = array_search ($ value , $ constants , true );
@@ -194,7 +207,7 @@ final public static function get($value)
194207 * @throws InvalidArgumentException On an invalid or unknown name
195208 * @throws LogicException On ambiguous values
196209 */
197- final public static function getByName ($ name )
210+ final public static function byName ($ name )
198211 {
199212 $ name = (string ) $ name ;
200213 $ class = get_called_class ();
@@ -218,7 +231,7 @@ final public static function getByName($name)
218231 * @throws InvalidArgumentException On an invalid ordinal number
219232 * @throws LogicException On ambiguous values
220233 */
221- final public static function getByOrdinal ($ ordinal )
234+ final public static function byOrdinal ($ ordinal )
222235 {
223236 $ ordinal = (int ) $ ordinal ;
224237 $ class = get_called_class ();
@@ -239,6 +252,34 @@ final public static function getByOrdinal($ordinal)
239252 return self ::$ instances [$ class ][$ name ] = new $ class (current ($ item ), $ ordinal );
240253 }
241254
255+ /**
256+ * Get an enumerator instance by the given name
257+ *
258+ * @param string $name The name of the enumerator
259+ * @return static
260+ * @throws InvalidArgumentException On an invalid or unknown name
261+ * @throws LogicException On ambiguous values
262+ * @deprecated
263+ */
264+ final public static function getByName ($ name )
265+ {
266+ return static ::byName ($ name );
267+ }
268+
269+ /**
270+ * Get an enumeration instance by the given ordinal number
271+ *
272+ * @param int $ordinal The ordinal number or the enumerator
273+ * @return static
274+ * @throws InvalidArgumentException On an invalid ordinal number
275+ * @throws LogicException On ambiguous values
276+ * @deprecated
277+ */
278+ final public static function getByOrdinal ($ ordinal )
279+ {
280+ return static ::byOrdinal ($ ordinal );
281+ }
282+
242283 /**
243284 * Clear all instantiated enumerators of the called class
244285 *
@@ -260,7 +301,7 @@ final public static function clear()
260301 */
261302 final public static function getEnumerators ()
262303 {
263- return array_map ('self::getByName ' , array_keys (self ::detectConstants (get_called_class ())));
304+ return array_map ('self::byName ' , array_keys (self ::detectConstants (get_called_class ())));
264305 }
265306
266307 /**
@@ -390,6 +431,6 @@ private static function detectConstants($class)
390431 */
391432 final public static function __callStatic ($ method , array $ args )
392433 {
393- return self ::getByName ($ method );
434+ return self ::byName ($ method );
394435 }
395436}
0 commit comments