Ref/yaml-Phpdoc专题
yaml_emit_file
Send the YAML representation of a value to a file
说明
bool <span
class="methodname">yaml_emit_file ( <span
class="methodparam">string $filename
, mixed
$data [, <span
class="type">int $encoding =
YAML_ANY_ENCODING [, <span
class="type">int $linebreak =
YAML_ANY_BREAK [, <span
class="type">array $callbacks =
null ]]] )
Generate a YAML representation of the provided data in the filename.
参数
filename
Path to the file.
data
The data being encoded. Can be any type except a <span
class="type">resource.
encoding
Output character encoding chosen from YAML_ANY_ENCODING,
YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING,
YAML_UTF16BE_ENCODING.
linebreak
Output linebreak style chosen from YAML_ANY_BREAK,
YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK.
callbacks
Content handlers for emitting YAML nodes. Associative <span
class="type">array of classname => <span
class="type">callable mappings. See
emit callbacks
for more details.
返回值
Returns true on success.
更新日志
| 版本 | 说明 |
|---|---|
| PECL yaml 1.1.0 | The callbacks parameter was added. |
参见
- yaml_emit
- yaml_parse
yaml_emit
Returns the YAML representation of a value
说明
string <span
class="methodname">yaml_emit ( <span
class="type">mixed $data [, <span
class="methodparam">int $encoding<span
class="initializer"> = YAML_ANY_ENCODING [, <span
class="methodparam">int $linebreak<span
class="initializer"> = YAML_ANY_BREAK [, <span
class="methodparam">array $callbacks<span
class="initializer"> = null ]]] )
Generate a YAML representation of the provided data.
参数
data
The data being encoded. Can be any type except a <span
class="type">resource.
encoding
Output character encoding chosen from YAML_ANY_ENCODING,
YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING,
YAML_UTF16BE_ENCODING.
linebreak
Output linebreak style chosen from YAML_ANY_BREAK,
YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK.
callbacks
Content handlers for emitting YAML nodes. Associative <span
class="type">array of classname => <span
class="type">callable mappings. See
emit callbacks
for more details.
返回值
Returns a YAML encoded string on success.
更新日志
| 版本 | 说明 |
|---|---|
| PECL yaml 1.1.0 | The callbacks parameter was added. |
范例
示例 #1 yaml_emit example
<?php
$addr = array(
"given" => "Chris",
"family"=> "Dumars",
"address"=> array(
"lines"=> "458 Walkman Dr.
Suite #292",
"city"=> "Royal Oak",
"state"=> "MI",
"postal"=> 48046,
),
);
$invoice = array (
"invoice"=> 34843,
"date"=> 980208000,
"bill-to"=> $addr,
"ship-to"=> $addr,
"product"=> array(
array(
"sku"=> "BL394D",
"quantity"=> 4,
"description"=> "Basketball",
"price"=> 450,
),
array(
"sku"=> "BL4438H",
"quantity"=> 1,
"description"=> "Super Hoop",
"price"=> 2392,
),
),
"tax"=> 251.42,
"total"=> 4443.52,
"comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
);
var_dump(yaml_emit($invoice));
?>
以上例程的输出类似于:
string(628) "---
invoice: 34843
date: 980208000
bill-to:
given: Chris
family: Dumars
address:
lines: |-
458 Walkman Dr.
Suite #292
city: Royal Oak
state: MI
postal: 48046
ship-to:
given: Chris
family: Dumars
address:
lines: |-
458 Walkman Dr.
Suite #292
city: Royal Oak
state: MI
postal: 48046
product:
- sku: BL394D
quantity: 4
description: Basketball
price: 450
- sku: BL4438H
quantity: 1
description: Super Hoop
price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"
参见
- yaml_emit_file
- yaml_parse
yaml_parse_file
Parse a YAML stream from a file
说明
mixed <span
class="methodname">yaml_parse_file ( <span
class="methodparam">string $filename
[, int $pos<span
class="initializer"> = 0 [, <span
class="methodparam">int &$ndocs [,
array
$callbacks = null ]]]
)
Convert all or part of a YAML document stream read from a file to a PHP variable.
参数
filename
Path to the file.
pos
Document to extract from stream (-1 for all documents, 0 for first
document, ...).
ndocs
If ndocs is provided, then it is filled with the number of documents
found in stream.
callbacks
Content handlers for YAML nodes. Associative <span
class="type">array of YAML tag => <span
class="type">callable mappings. See
parse callbacks
for more details.
返回值
Returns the value encoded in input in appropriate PHP type
或者在失败时返回 false. If pos is -1 an <span
class="type">array will be returned with one entry for each
document found in the stream.
注释
Warning
Processing untrusted user input with <span class="function">yaml_parse_file is dangerous if the use of unserialize is enabled for nodes using the !php/object tag. This behavior can be disabled by using the yaml.decode_php ini setting.
参见
- yaml_parse
- yaml_parse_url
- yaml_emit
yaml_parse_url
Parse a Yaml stream from a URL
说明
mixed <span
class="methodname">yaml_parse_url ( <span
class="methodparam">string $url [,
int $pos<span
class="initializer"> = 0 [, <span
class="methodparam">int &$ndocs [,
array
$callbacks = null ]]]
)
Convert all or part of a YAML document stream read from a URL to a PHP variable.
参数
url
url should be of the form "scheme://...". PHP will search for a
protocol handler (also known as a wrapper) for that scheme. If no
wrappers for that protocol are registered, PHP will emit a notice to
help you track potential problems in your script and then continue as
though filename specifies a regular file.
pos
Document to extract from stream (-1 for all documents, 0 for first
document, ...).
ndocs
If ndocs is provided, then it is filled with the number of documents
found in stream.
callbacks
Content handlers for YAML nodes. Associative <span
class="type">array of YAML tag => <span
class="type">callable mappings. See
parse callbacks
for more
返回值
Returns the value encoded in input in appropriate PHP type
或者在失败时返回 false. If pos is -1 an <span
class="type">array will be returned with one entry for each
document found in the stream.
注释
Warning
Processing untrusted user input with <span class="function">yaml_parse_url is dangerous if the use of unserialize is enabled for nodes using the !php/object tag. This behavior can be disabled by using the yaml.decode_php ini setting.
参见
- yaml_parse
- yaml_parse_file
- yaml_emit
yaml_parse
Parse a YAML stream
说明
mixed <span
class="methodname">yaml_parse ( <span
class="type">string $input [, <span
class="methodparam">int $pos<span
class="initializer"> = 0 [, <span
class="methodparam">int &$ndocs [,
array
$callbacks = null ]]]
)
Convert all or part of a YAML document stream to a PHP variable.
参数
input
The string to parse as a YAML document stream.
pos
Document to extract from stream (-1 for all documents, 0 for first
document, ...).
ndocs
If ndocs is provided, then it is filled with the number of documents
found in stream.
callbacks
Content handlers for YAML nodes. Associative <span
class="type">array of YAML tag => <span
class="type">callable mappings. See
parse callbacks
for more details.
返回值
Returns the value encoded in input in appropriate PHP type
或者在失败时返回 false. If pos is -1 an <span
class="type">array will be returned with one entry for each
document found in the stream.
范例
示例 #1 yaml_parse example
<?php
$yaml = <<<EOD
---
invoice: 34843
date: "2001-01-23"
bill-to: &id001
given: Chris
family: Dumars
address:
lines: |-
458 Walkman Dr.
Suite #292
city: Royal Oak
state: MI
postal: 48046
ship-to: *id001
product:
- sku: BL394D
quantity: 4
description: Basketball
price: 450
- sku: BL4438H
quantity: 1
description: Super Hoop
price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
EOD;
$parsed = yaml_parse($yaml);
var_dump($parsed);
?>
以上例程的输出类似于:
array(8) {
["invoice"]=>
int(34843)
["date"]=>
string(10) "2001-01-23"
["bill-to"]=>
&array(3) {
["given"]=>
string(5) "Chris"
["family"]=>
string(6) "Dumars"
["address"]=>
array(4) {
["lines"]=>
string(34) "458 Walkman Dr.
Suite #292"
["city"]=>
string(9) "Royal Oak"
["state"]=>
string(2) "MI"
["postal"]=>
int(48046)
}
}
["ship-to"]=>
&array(3) {
["given"]=>
string(5) "Chris"
["family"]=>
string(6) "Dumars"
["address"]=>
array(4) {
["lines"]=>
string(34) "458 Walkman Dr.
Suite #292"
["city"]=>
string(9) "Royal Oak"
["state"]=>
string(2) "MI"
["postal"]=>
int(48046)
}
}
["product"]=>
array(2) {
[0]=>
array(4) {
["sku"]=>
string(6) "BL394D"
["quantity"]=>
int(4)
["description"]=>
string(10) "Basketball"
["price"]=>
int(450)
}
[1]=>
array(4) {
["sku"]=>
string(7) "BL4438H"
["quantity"]=>
int(1)
["description"]=>
string(10) "Super Hoop"
["price"]=>
int(2392)
}
}
["tax"]=>
float(251.42)
["total"]=>
float(4443.52)
["comments"]=>
string(68) "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338."
}
注释
Warning
Processing untrusted user input with <span class="function">yaml_parse is dangerous if the use of <span class="function">unserialize is enabled for nodes using the !php/object tag. This behavior can be disabled by using the yaml.decode_php ini setting.
参见
- yaml_parse_file
- yaml_parse_url
- yaml_emit
目录
- yaml_emit_file — Send the YAML representation of a value to a file
- yaml_emit — Returns the YAML representation of a value
- yaml_parse_file — Parse a YAML stream from a file
- yaml_parse_url — Parse a Yaml stream from a URL
- yaml_parse — Parse a YAML stream