<?php
const testNamespacedClasses = [
"Namespace\To\SettingOption",
"I\Was\Born\InTheUSAIwas",
"Something\Onething"
];
function testSnakeCasedModelNames() {
foreach (testNamespacedClasses as $class) {
echo "$class => ";
echo preg_replace_callback(
'~([^\\\\]*\\\\)*([A-Z][a-z]*)~',
function($m) {
return ($m[1] ? '' : '_') . lcfirst($m[2]);
},
$class
);
echo "\n---\n";
}
}
echo testSnakeCasedModelNames();
- Output for 7.1.25 - 7.1.30, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- Namespace\To\SettingOption => setting_option
---
I\Was\Born\InTheUSAIwas => in_the_u_s_a_iwas
---
Something\Onething => onething
---
preferences:
159.8 ms | 403 KiB | 169 Q