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

目录


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除