文字列変換に便利!CakePHPの組み込みライブラリ(Inflector)
先日のシルバーウィーク、思わぬ休暇と同時に頂いたので13連休でした。ichikawaです。
インフルエンザといい、体調にはくれぐれも気をつけたいものです。
本日はCakePHPの組み込みライブラリ「Inflector」について簡単にお話ししたいと思います。
「Inflector」とは?
Inflector クラスは文字列を扱い、複数形やキャメル記法といったように単語のバリエーションをハンドルする操作を行うものです。
例えば…
Inflector::pluralize('example');
上記の様なコードは「examples」という値を返します。(公式サイトより)
どんな時に便利?
CakePHPの命名規則に従って、単語を変換したい時などにとても便利です!
Inflector クラスのメソッドを使うことにより、以下の様な変換が簡単に行う事ができます。
代表的なメソッドをいくつか紹介いたします。
| メソッド名 | 変換前 | 変換後 |
|---|---|---|
| pluralize | Apple | Apples |
| singularize | Apples | Apple |
| camelize | Apple_pie | ApplePie |
| underscore | applePie | apple_pie |
| humanize | apple_pie | Apple Pie |
| tableize | Apples | apples |
| classify | apples | Apple |
| variable | apple_pies | applePies |
上記以外にも、以下の様な変換も行ってくれます。
| メソッド名 | 変換前 | 変換後 |
|---|---|---|
| pluralize | Orange | Oranges |
| Person | People | |
| singularize | Oranges | Orange |
| People | Person | |
| camelize | orange_pekoe | OrangePekoe |
| people_person | PeoplePerson | |
| underscore | orangePekoe | orange_pekoe |
| humanize | orange_pekoe | Orange Pekoe |
| people_person | People Person | |
| tableize | OrangeCake | orange_cakes |
| people_person | people_people | |
| classify | orange_cakes | OrangeCake |
| people_people | PeoplePerson | |
| variable | orange_pekoes | orangePekoes |
| people_people | peoplePeople |
ぜひ、便利に使っていただければと思います。


![Compoships 関連モデルを複数の外部キーで紐付ける[Laravel]](https://bashalog.c-brains.jp/images/Laravel-logo.jpg)
