yaml_emit

(PECL yaml >= 0.5.0)

yaml_emitRetorna a representação YAML de um valor

Descrição

yaml_emit(
    mixed $data,
    int $encoding = YAML_ANY_ENCODING,
    int $linebreak = YAML_ANY_BREAK,
    array $callbacks = null
): string

Gera uma representação YAML dos dados fornecidos em data.

Parâmetros

data

Os dados a serem codificados. data pode ser de qualquer tipo exceto resource.

encoding

Codificação de caracteres de saída escolhida entre YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING, YAML_UTF16BE_ENCODING.

linebreak

Estilo de quebra de linha de saída escolhido entre YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK.

callbacks

Manipuladores de conteúdo para emissão dos nós YAML. Um array associativo para mapeamento de classe => callable. Consulte funções de emissão para mais detalhes.

Valor Retornado

Retorna uma string codificada em YAML em caso de sucesso.

Registro de Alterações

Versão Descrição
PECL yaml 1.1.0 O parâmetro callbacks foi adicionado.

Exemplos

Example #1 Exemplo de yaml_emit()

<?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));
?>

O exemplo acima produzirá algo semelhante a:

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.
...
"

Veja Também