「_(アンダースコア)」区切りで単語の最初を大文字に

class_name => ClassName のようにしたかったのだが、ucwords()は空白文字でしか単語区切りにならないらしい。
http://jp2.php.net/manual/ja/function.ucwords.php

仕方ないので「_(アンダースコア)」をスペースに変更してから最後に消すという処理

<?php
$name = 'class_name';
echo str_replace(' ', '', ucwords(str_replace('_', ' ', $name)));

// ClassName
?>

もっとスマートに書ければよいが。