知っていると便利なのかもしれないCakePHP2のコアライブラリ 〜Inflector編〜

みなさんこんにちは!

昨日更新した記事が、僕自身の勉強にもなってるなぁと感じたので調子にのって楽しそうなコアライブラリを探しました! 今日書くのはInflectorクラスです。

Inflectorクラスとは

文字列を単数形や複数形にしてくれたりキャメルケースやアンダースコアケースにしてくれたりする知っておくと超ベンリなクラスです。

使うには使いたいクラスで以下のコードを使いたいクラスで書いておきましょう。

App::uses('Inflector', 'Utility');

これで読み込み完了!!

それでは簡単に紹介してみます。 詳しい部分は公式Cookbookを参考すると素晴らしいと思います。

Inflector::pluralize($singular)

単数形のものを複数形にしてくれます。何気に便利かも

$string = "apple"; // 'man', 'person'
$result = Inflector::pluralize($string);
// 結果
// => 'apples' 'men', 'people'

Inflector::singularize($plural)

これは逆に単数形にしてくれるもの!

$string = "apples"; // 'men', 'people'
$result = Inflector::pluralize($string);
// 結果
// => 'apple' 'men', 'person'

Inflector::underscore($camelCase)

キャメルケースをアンダースコアに変換してくれる関数

$string = "TestCase";
$result = Inflector::underscore($string);
// 結果
// => "test_case"

Inflector::camelize($underscored)

これは逆にアンダースコアをキャメルケースにしてくれる関数

$string = "test_case";
$result = Inflector::camelize($string);
// 結果
// => "TestCase"

最後に

これら以外にも文字列をテーブルの命名規則に従ったものに変換してくれる関数Inflector::tableize、クラスの命名規則に従ったものに変換してくれる関数Inflector::classifyなど色々面白いものがたくさんあるので暇なときにでもCookbookを見てみると色々面白いものが見つかるかもしれません!