yaml_emit_file

Send the YAML representation of a value to a file

说明

bool yaml_emit_file ( string $filename , mixed $data [, int $encoding = YAML_ANY_ENCODING [, int $linebreak = YAML_ANY_BREAK [, 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 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 array of classname => callable mappings. See emit callbacks for more details.

返回值

Returns TRUE on success.

更新日志

版本说明
1.1.0The callbacks parameter was added.

参见

  • yaml_emit
  • yaml_parse

yaml_emit

Returns the YAML representation of a value

说明

string yaml_emit ( mixed $data [, int $encoding = YAML_ANY_ENCODING [, int $linebreak = YAML_ANY_BREAK [, array $callbacks = NULL ]]] )

Generate a YAML representation of the provided data.

参数

data
The data being encoded. Can be any type except a 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 array of classname => callable mappings. See emit callbacks for more details.

返回值

Returns a YAML encoded string on success.

更新日志

版本说明
1.1.0The 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 yaml_parse_file ( string $filename [, int $pos = 0 [, 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 array of YAML tag => callable mappings. See parse callbacks for more details.

返回值

Returns the value encoded in input in appropriate PHP type 或者在失败时返回 FALSE. If pos is -1 an array will be returned with one entry for each document found in the stream.

注释

Warning

Processing untrusted user input with 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 yaml_parse_url ( string $url [, int $pos = 0 [, 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 array of YAML tag => callable mappings. See parse callbacks for more

返回值

Returns the value encoded in input in appropriate PHP type 或者在失败时返回 FALSE. If pos is -1 an array will be returned with one entry for each document found in the stream.

注释

Warning

Processing untrusted user input with 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 yaml_parse ( string $input [, int $pos = 0 [, 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 array of YAML tag => callable mappings. See parse callbacks for more details.

返回值

Returns the value encoded in input in appropriate PHP type 或者在失败时返回 FALSE. If pos is -1 an 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 yaml_parse 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_file
  • yaml_parse_url
  • yaml_emit

目录