CakePHP3で単数形、複数形を間違えないようにする方法
CakePHPで開発でよくある流れ
- テーブル作ってー
- bakeしてー
- いざコーディング!
が大まかな流れかと思いますが、1をCakePHPのルールに適さない名前で作ってしまった場合、Bakeが本人の想定していない名前で出力されてしまい恥かしく(?)なることがあります。(/ω\)
例)person(単数形)→ people(複数形)
※ググったらpersons
もあるのだが、あるから大丈夫だろうと思って進めるとBakeで失敗する。
こうなると、生成されたコードを削除したりDBのスキーマだったりと修正作業が発生してとてつもなく萎える。
というわけで、単数/複数形を調べる確実な方法をご紹介
CakePHP3の場合ですが適当なコントローラーを用意して
use Cake\Utility\Inflector;
単数形 → 複数形
Inflector::pluralize('user') → users
複数形 → 単数形
Inflector::singularize('users') → user
ってやれば変換してくれます。
因みに、Cake\Utility\Inflector
には他にも便利なメソッドが用意されているので見ておくといいです。
補足
CakePHP 規約ワードメーカー
便利だネ!