Format クラス
Format クラスは、XML、JSON、CSV 等の様々なフォーマット間の変換ができます。
設定
Format クラスは、 fuel/core/config/format.php にある設定ファイルで設定をします。デフォルトで設定がされています。設定を変更するには、設定ファイルをアプリケーションの設定ディレクトリにコピーし、そのファイルを変更してください。
次の設定を定義することができます。
CSV
delimiter |
string |
','
|
デリミタ |
enclosure |
string |
'"'
|
囲み文字 |
newline |
string |
'\n'
|
to_csv() メソッドで利用される改行文字 |
regex_newline |
string |
'\n'
|
入力データを変換するために正規表現で使用される改行文字 |
escape |
string |
'\\'
|
エスケープ文字 |
XML
basenode |
string |
'xml'
|
XML ベースノードの名前 |
use_cdata |
boolean |
false
|
ノードの中で CDATA セクションを使用するかどうか |
forge($data = null, $from_type = null)
forge メソッドは、新しい format オブジェクトを返します。
静的 |
はい |
パラメータ |
パラメータ |
デフォルト |
説明 |
$data |
null
|
変換されるデータ。 |
$from_type |
null
|
元データのフォーマット。 |
|
返り値 |
Fuel\Core\Format Object |
例 |
$array = array('foo' => 'bar');
print_r(Format::forge($array));
// 実行結果
Fuel\Core\Format Object
(
[_data:protected] => Array
(
[foo] => bar
)
)
|
to_array($data = null)
to_array メソッドは、与えられたデータを配列として返します。直接呼び出すのではなく、例にもあるように forge メソッドを利用します。
静的 |
いいえ |
パラメータ |
パラメータ |
デフォルト |
説明 |
$data |
null
|
変換されるデータ。 |
|
返り値 |
array |
例 |
$json_string = '{"foo":"bar","baz":"qux"}';
print_r(Format::forge($json_string, 'json')->to_array());
// 実行結果
Array
(
[foo] => bar
[baz] => qux
)
|
to_xml($data = null, $structure = null, $basenode = 'xml', $use_cdata = false)
to_xml メソッドは、与えられたデータを XML 文字列として返します。直接呼び出すのではなく、例にもあるように forge メソッドを利用します。
静的 |
いいえ |
パラメータ |
パラメータ |
デフォルト |
説明 |
$data |
null
|
変換されるデータ。 |
$structure |
null
|
クラス SimpleXMLElement のオブジェクト。 |
$basenode |
"xml" |
XML マークアップのベースノード。 |
$use_cdata |
false |
ノードの中で CDATA セクションを使用するかどうか。 |
|
返り値 |
string |
例 |
$array = array('foo' => 'bar', 'baz' => 'qux');
print_r(Format::forge($array)->to_xml());
// 実行結果
// <?xml version="1.0" encoding="utf-8"?>
// <xml>
// <foo>bar</foo>
// <baz>qux</baz>
// </xml>
|
to_csv($data = null, $separator = ',')
to_csv メソッドは、与えられたデータを CSV 文字列として返します。直接呼び出すのではなく、例にもあるように forge メソッドを利用します。
静的 |
いいえ |
パラメータ |
パラメータ |
デフォルト |
説明 |
$data |
null
|
変換されるデータ。 |
$separator |
','
|
CSV のフィールド区切り文字。デフォルトではコンマ。 |
|
返り値 |
string |
例 |
$json_string = '{"foo":"bar","baz":"qux"}';
print_r(Format::forge($json_string, 'json')->to_csv());
// 実行結果
// foo,baz
// "bar","qux"
|
to_json()
to_json メソッドは、与えられたデータを JSON 文字列として返します。直接呼び出すのではなく、例にもあるように forge メソッドを利用します。
静的 |
いいえ |
返り値 |
string |
例 |
$array = array('foo' => 'bar', 'baz' => 'qux');
print_r(Format::forge($array)->to_json());
// 実行結果
// {"foo":"bar","baz":"qux"}
|
to_serialized()
to_serialized メソッドは、与えられたデータをシリアル化された文字列として返します。直接呼び出すのではなく、例にもあるように forge メソッドを利用します。
静的 |
いいえ |
返り値 |
string |
例 |
$array = array('foo' => 'bar', 'baz' => 'qux');
print_r(Format::forge($array)->to_serialized());
// 実行結果
// a:2:{s:3:"foo";s:3:"bar";s:3:"baz";s:3:"qux";}
|
to_php()
to_php メソッドは、与えられたデータを 文字列表現された PHP コードとして返します。この PHP コードを eval() 関数で評価することや、他にも思いもつかないようなことに利用することができます。
静的 |
いいえ |
返り値 |
string |
例 |
$array = array(1, 2, array('a', 'b', 'c'));
print_r(Format::forge($array)->to_php());
// 実行結果
Array
(
0 => 1,
1 => 2,
2 => array(
0 => 'a',
1 => 'b',
2 => 'c',
),
)
|