private function toSnakeCase(string $name) : string { return strtolower(preg_replace([ '/([A-Z]+)([A-Z][a-z])/', '/([a-z0-9])([A-Z])/', ], '\\1_\\2', $name)); }