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',
	),
)