[ CakePHP ]の Inflector クラスを使って単数形を複数形に変換する

CakePHPInflector クラスの使い方を説明したいと思います。 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 クラスには色々な関数が用意されているので、うまく活用して開発効率を向上させていきたいですね。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です