Inflector クラス
Inflector クラスでは単数形から複数形、クラス名からテーブル名、
モジュール化されたクラス名をなしに、そして、クラス名から外部キーに
単語を変換することができます。
ローカライズできるようにするために、インフレクタのルールセットを言語ファイルとして定義することが可能です。
フレームワークは英語のためのルールのデフォルトセットが付属しており、
それをローカライズのためのテンプレートとすることができます。
ascii($str, $allow_non_ascii = false)
ascii メソッドは文字列を 7-bit のアスキー文字に変換することができます。このメソッドは UTF-8 の環境のみで動作します。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$str |
必須 |
変換したい文字列 |
$allow_non_ascii |
false
|
非アスキー文字を許可するか |
|
返り値 |
string |
例 |
echo Inflector::ascii('Inglés'); // Ingles と返す
|
camelize($underscored_word)
camelize メソッドはアンダースコアで区切られた単語をキャメルケースの単語に変換することができます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$underscored_word |
必須 |
アンダースコアで区切られた単語 |
|
返り値 |
string |
例 |
echo Inflector::camelize('apples_and_oranges'); // ApplesAndOranges と返す
|
words_to_upper($class)
words_to_upper メソッドはアンダースコアで区切られたクラス名のような単語を
アンダースコアごとの最初の文字を大文字に変換することができます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$class |
必須 |
クラス名 |
$sep |
_ |
区切り文字 |
|
返り値 |
string |
例 |
echo Inflector::words_to_upper('fuel_users'); // Fuel_Users と返す
echo Inflector::words_to_upper('module::method', '::'); // Module::Method と返す
|
classify($table_name)
classify メソッドはテーブル名をクラス名に変換することができます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$table_name |
必須 |
テーブル名 |
$singularize |
true
|
$tablename を大文字化する前に単数形に変換するか |
|
返り値 |
string |
例 |
echo Inflector::classify('fuel_users'); // Fuel_User と返す
|
demodulize($class_name_in_module)
demodulize メソッドはモジュール化された文字列からクラス名を取り除くことができます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$class_name_in_module |
必須 |
モジュール化されたクラス名 |
|
返り値 |
string |
例 |
echo Inflector::demodulize('Uri::main()'); // main() と返す
|
denamespace($class_name)
denamespace メソッドはクラス名から名前空間を表す文字をを取り除くことができます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$class_name |
必須 |
クラス名 |
|
返り値 |
string |
例 |
echo Inflector::denamespace('Fuel\\Core\\Config'); // Config と返す
|
get_namespace($class_name)
get_namespace メソッドはクラス名から名前空間を表す文字を取り出すことができます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$class_name |
必須 |
クラス名 |
|
返り値 |
string 、名前空間 |
例 |
echo Inflector::get_namespace('Fuel\\Core\\Config'); // Fuel\Core\ と返す
|
foreign_key($class_name, $use_underscore = true)
foreign_key メソッドはクラス名から外部キー名を返すことができます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$class_name |
必須 |
クラス名 |
$use_underscore |
true
|
クラス名の後ろにアンダースコアをつけるか |
|
返り値 |
string |
例 |
echo Inflector::foreign_key('Inflector'); // inflector_id と返す
echo Inflector::foreign_key('Inflector', false); // inflectorid と返す
|
friendly_title($str, $sep = '-', $lowercase = false, $allow_non_ascii = false)
friendly_title メソッドは文字列を URL に使えるようにタイトルを変換することができます。このメソッドは UTF-8 の文字コードを渡して、 7-bit アスキー文字で返します。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$str |
必須 |
変換したい文字列 |
$sep |
-
|
区切り文字 (- か _ のどちらか) |
$lowercase |
false
|
小文字だけにするか |
$allow_non_ascii |
false
|
非アスキー文字を許可するか |
|
返り値 |
string |
例 |
echo Inflector::friendly_title('Fuel is a community driven PHP 5 web framework.', '-', true);
// fuel-is-a-community-driven-php-5-web-framework と返す
|
humanize($lower_case_and_underscored_word)
humanize メソッドはアンダースコアで区切られた単語を人間が読みやすいように変換することができます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$lower_case_and_underscored_word |
必須 |
変換したい単語 |
|
返り値 |
string |
例 |
echo Inflector::humanize('apples_and_oranges'); // Apples and oranges と返す
|
is_countable($word)
is_countable メソッドは指定された単語に複数形の単語があるかどうかチェックすることができます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$word |
必須 |
チェックしたい単語 |
|
返り値 |
boolean |
例 |
echo Inflector::is_countable('fish'); // false を返す
echo Inflector::is_countable('apple'); // true を返す
|
pluralize($word, $count)
pluralize メソッドは指定された単語を複数形に変換することができます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$word |
必須 |
複数形にしたい単語 |
$count |
0 |
もし 1 を指定すると複数形ではなく、単数形の単語を返します |
|
返り値 |
string |
例 |
echo Inflector::pluralize('apple'); // apples と返す
echo Inflector::pluralize('apple', 1); // apple と返す
|
ordinalize($number)
ordinalize メソッドは英語での順番を表す単語に変換することができます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$number |
必須 |
順番を表す単語をしりたい数字 |
|
返り値 |
string |
例 |
echo Inflector::ordinalize(2); // 2nd と返す
|
singularize($word)
singularize メソッドは指定された単語の単数形に変換することができます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$word |
必須 |
単数形にしたい単語 |
|
返り値 |
string |
例 |
echo Inflector::singularize('apples'); // apple と返す
|
tableize($class_name)
tableize メソッドはクラス名をテーブル名に変換することができます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$class_name |
必須 |
クラス名の文字列 |
|
返り値 |
string |
例 |
echo Inflector::tableize('FuelUser'); // fuel_users と返す
|
underscore($camel_cased_word)
underscore メソッドはキャメルケースの単語をアンダースコアで区切った単語に変換することができます。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$camel_cased_word |
必須 |
キャメルケースの単語 |
|
返り値 |
string |
例 |
echo Inflector::underscore('ApplesAndOranges'); // apples_and_oranges と返す
|
load_rules()
load_rules メソッドは現在の言語設定に基づいてインフレクタルールをロードします。
ルールセットが見つからない (すなわち全くインフレクタ言語ファイルが存在しない)
場合、クラスは英語のためのルールセットをデフォルトとします。 ルールセットを読み込み済みの場合は、
お使いの言語の設定を変更し、再読み込みします。しかし新しい設定がルールセットの定義を持っていない時は、
インフレクタは現在のものを利用し続けます。
最初の Inflector クラス使用時には言語設定に基づいてルールセットが自動で読み込まれます。
通常はこのメソッドを使用する必要はありません。
静的 |
はい |
パラメータ |
なし
|
例 |
Inflector::load_rules(); // インフレクタルールセットを (再) 読み込み
|