protected function snake($input)
    {
        if (isset(static::$snakeCache[$input])) {
            return static::$snakeCache[$input];
        }

        $value = $input;
        if (!ctype_lower($input)) {
            $value = strtolower(preg_replace('/(?<!^)[A-Z]/', '_$0', $input));
        }

        return static::$snakeCache[$input] = $value;
    }
protected function snake($input)
    {
        if (isset(static::$snakeCache[$input])) {
            return static::$snakeCache[$input];
        }

        $value = $input;
        if (!ctype_lower($input)) {
            $value = strtolower(preg_replace('/(?<!^)[A-Z]/', '_$0', $input));
        }

        return static::$snakeCache[$input] = $value;
    }
protected function snake ( $ input ) { if ( isset ( static :: $ snakeCache [ $ input ] ) ) { return static :: $ snakeCache [ $ input ] ; } $ value = $ input ; if ( ! ctype_lower ( $ input ) ) { $ value = strtolower ( preg_replace ( '/(?<!^)[A-Z]/' , '_$0' , $ input ) ) ; } return static :: $ snakeCache [ $ input ] = $ value ; }
Convert a input to snake case

@param string $input
@return string
Convert a input to snake case