<div class="section">
文字列を複数形にしたり、キャメルケースにしたり、アンダースコア区切りにしたり、便利な文字列操作が出来るクラス。
id:ym1173さんの記事でまとめられてるので、使い方はそちらを参照。
http://d.hatena.ne.jp/ym1173/20090917/1253155625
今回このクラスを調べたのは、モデル名を小文字&アンダースコア区切りに変換したかったから。
例えば、「HogeFooBar」→「hoge_foo_bar」みたいな感じ。
CakePHPだと「Inflector::underscore」を使います。
echo Inflector::underscore('HogeFooBar'); //hoge_foo_bar
せっかくなので、自分でも変換メソッドを書いた。
$str_model = 'HogeFooBar'; $str_unsco = underscore($str_model); if (!$str_unsco) echo 'なにか間違ってるよ!'; echo $str_unsco; //hoge_foo_bar function underscore($str) { if (!$str) return false; $_str = $str; $ret = preg_replace('/[A-Z]/', '_$0', $_str); $ret = strtolower($ret); $ret = substr($ret, 1, strlen($ret)); return $ret; }
なんか無理やり??