シェアする

  • このエントリーをはてなブックマークに追加

[Cakephp]Inflectorのメソッドって何があったっけ?なメモ

クラスのメソッド :: Inflector :: 実用的な各種の組み込みライブラリ :: マニュアル :: 1.2 Collection :: The Cookbook

よく使うのに、いつも忘れるInflector。
単語を複数形にしたり単数形にしたり、キャメル記法にしたり、人間に読みやすい切り分けをしてくれたり?とにかく便利なInflectorですが、いっつもクラス名を忘れてしまって、検索することすらできない有様。最後には、じゃあ仕方ねーかとCakePHPのマニュアルページを見る羽目になるのでございます。

……毎度大変なので、自前でメモ。

以下、マニュアルから転載

  入力 出力
pluralize Apple, Orange, Person Apples, Oranges, People
singularize Apples, Oranges, People Apple, Orange, Person
camelize Apple_pie, orange_pekoe, people_person ApplePie, OrangePekoe, PeoplePerson
underscore アンダースコアが含まれるように変換されるのは、キャメル記法で書かれた単語のみ(たとえば「camelCase」というようなもの)であることに注意してください。スペースを含むものは小文字に変換はされますが、アンダースコアは含みません。
applePie, orangePekoe apple_pie, orange_pekoe
humanize apple_pie, orange_pekoe, people_person Apple Pie, Orange Pekoe, People Person
tableize Apples, OrangePekoe, people_person apples, orange_pekoe, people_person
classify apples, orange_pekoes, people_person Apple, OrangePekoe, PeoplePerson
variable apples, orange_pekoes, people_person apples, orangePekoes, peoplePerson
slug Slug は特殊な文字を同等なラテン文字に変換し、同等のラテン文字が無いものとスペースはアンダースコアに変換します。また、 slug メソッドはエンコーディングが UTF-8 であることを期待します。
puree puree

使い方

コントローラ、モデル、ビューのどこでも使えます。(多分)
使い方はいたって簡単。

Inflector::camelize(orange_pekoe);
// ⇒ OrangePekoe

って感じで使えます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする