@@ -163,6 +163,19 @@ final public static function get($value)
163163 return $ value ;
164164 }
165165
166+ return static ::byValue ($ value );
167+ }
168+
169+ /**
170+ * Get an enumerator instance by the given value
171+ *
172+ * @param mixed $value
173+ * @return static
174+ * @throws InvalidArgumentException On an unknwon or invalid value
175+ * @throws LogicException On ambiguous constant values
176+ */
177+ final public static function byValue ($ value )
178+ {
166179 $ class = get_called_class ();
167180 $ constants = self ::detectConstants ($ class );
168181 $ name = array_search ($ value , $ constants , true );
@@ -188,7 +201,7 @@ final public static function get($value)
188201 * @throws InvalidArgumentException On an invalid or unknown name
189202 * @throws LogicException On ambiguous values
190203 */
191- final public static function getByName ($ name )
204+ final public static function byName ($ name )
192205 {
193206 $ name = (string ) $ name ;
194207 $ class = get_called_class ();
@@ -212,7 +225,7 @@ final public static function getByName($name)
212225 * @throws InvalidArgumentException On an invalid ordinal number
213226 * @throws LogicException On ambiguous values
214227 */
215- final public static function getByOrdinal ($ ordinal )
228+ final public static function byOrdinal ($ ordinal )
216229 {
217230 $ ordinal = (int ) $ ordinal ;
218231 $ class = get_called_class ();
@@ -233,6 +246,34 @@ final public static function getByOrdinal($ordinal)
233246 return self ::$ instances [$ class ][$ name ] = new $ class (current ($ item ), $ ordinal );
234247 }
235248
249+ /**
250+ * Get an enumerator instance by the given name
251+ *
252+ * @param string $name The name of the enumerator
253+ * @return static
254+ * @throws InvalidArgumentException On an invalid or unknown name
255+ * @throws LogicException On ambiguous values
256+ * @deprecated
257+ */
258+ final public static function getByName ($ name )
259+ {
260+ return static ::byName ($ name );
261+ }
262+
263+ /**
264+ * Get an enumeration instance by the given ordinal number
265+ *
266+ * @param int $ordinal The ordinal number or the enumerator
267+ * @return static
268+ * @throws InvalidArgumentException On an invalid ordinal number
269+ * @throws LogicException On ambiguous values
270+ * @deprecated
271+ */
272+ final public static function getByOrdinal ($ ordinal )
273+ {
274+ return static ::byOrdinal ($ ordinal );
275+ }
276+
236277 /**
237278 * Clear all instantiated enumerators of the called class
238279 *
@@ -253,7 +294,7 @@ final public static function clear()
253294 */
254295 final public static function getEnumerators ()
255296 {
256- return array_map ('self::getByName ' , array_keys (self ::detectConstants (get_called_class ())));
297+ return array_map ('self::byName ' , array_keys (self ::detectConstants (get_called_class ())));
257298 }
258299
259300 /**
@@ -353,6 +394,6 @@ private static function detectConstants($class)
353394 */
354395 final public static function __callStatic ($ method , array $ args )
355396 {
356- return self ::getByName ($ method );
397+ return self ::byName ($ method );
357398 }
358399}
0 commit comments