Converter CamelCase e snake_case
Algumas vezes precisamos converter textos em CamelCase para snake_case, ou o contrário. Por exemplo, digamos que você use o nome dos atributos de uma classe em camelCase e os campos da tabela em camel_case, e em algum momento do seu código você precise converter esses nomes. Entã...
/**
* Converte um string de CamelCase para snake_case
*
* @param string $string
* @return string
*/