CakePHP
の Inflector
クラスの使い方を説明したいと思います。 Inflector
クラスを使用することでコントローラー名やモデル名、テーブル名の変換を行うことができるようになります。
Inflectorクラスの使い方
使用方法は下記の通りです。
$s = Inflector::pluralize('orange');
e($s); //oranges
という感じで使用します。
使いどころとしては、
コントローラー名からモデル名を変換するときや、テーブル名からモデル名を変換するときに使用します。
汎用的な処理を実装する際には重宝するので覚えておきたいですね。
Inflectorクラスの関数について
pluralize
単数形の名称をを複数形の名称に変換します。
orange → oranges
singularize
複数形の名称を単数形の名称に変換します。
oranges → orange
camelize
名称の中のアンダーバー( _ )を削除して、名称をキャメルケースに変換します。
oranges_and_lemons → orangesAndLemons
underscore
キャメルケースの名称の大文字の前にアンダーバー( _ )を入れ、さらに大文字を小文字に変換します。
orangesAndLemons → oranges_and_lemons
humanize
名称のアンダーバー( _ )を半角スペースに、先頭文字を大文字に変換します。
oranges_and_lemons → Oranges And Lemons
tableize
モデルのクラス名をテーブル名に変換します。
OrangeId, LemonId → oranges_id, lemons_id
classify
テーブル名をモデルのクラス名に変換します。
oranges_id, lemons_id → OrangeId, LemonId
slug
特殊なアルファベットをラテン文字に変換します。対応する文字がなければアンダーバーに変換されます。
sůl → sui
最後に
Inflector
クラスには色々な関数が用意されているので、うまく活用して開発効率を向上させていきたいですね。
コメント