From 415a0a96a76afbe7f1ad2f51862641793caf1b6c Mon Sep 17 00:00:00 2001
From: Jonas Kohl
Date: Sun, 8 Sep 2024 17:53:55 +0200
Subject: Initial commit

---
 src/application/mystic/forum/utils/StringUtils.php | 24 ++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 src/application/mystic/forum/utils/StringUtils.php

(limited to 'src/application/mystic/forum/utils/StringUtils.php')

diff --git a/src/application/mystic/forum/utils/StringUtils.php b/src/application/mystic/forum/utils/StringUtils.php
new file mode 100644
index 0000000..7d4bf9d
--- /dev/null
+++ b/src/application/mystic/forum/utils/StringUtils.php
@@ -0,0 +1,24 @@
+<?php
+declare(strict_types=1);
+
+namespace mystic\forum\utils;
+
+final class StringUtils {
+    use StaticClass;
+
+    public static function camelToSnake(string $camelCase): string {
+        $result = '';
+
+        for ($i = 0; $i < strlen($camelCase); $i++) {
+            $char = $camelCase[$i];
+
+            if (ctype_upper($char)) {
+                $result .= '_' . strtolower($char);
+            } else {
+                $result .= $char;
+            }
+        }
+
+        return ltrim($result, '_');
+    }
+}
-- 
cgit v1.2.3