code: public static function decamelize($value)
      {
          if (isset(self::$decamelized[$value])) {
              return self::$decamelized[$value];
          }
  
          return self::$decamelized[$value] = strtolower(preg_replace('/(.)(?=[A-Z])/u', '$1_', $value));
      }
docs: Converts a camel case string into all lower case separated by underscores.
  
  @param string $value
  @return string