Identificadores de dados em C

(PHP 7 >= 7.4.0, PHP 8)

Introdução

Objetos FFI\CData podem ser usados de vƔrias maneiras como dados comuns do PHP:

  • Dados em C de tipos escalares podem ser lidos e atribuĆ­dos atravĆ©s da propriedade $cdata, por exemplo, $x = FFI::new('int'); $x->cdata = 42;
  • Campos de estruturas e uniƵes em C podem ser acessados como uma propriedade comum de objeto PHP, por exemplo, $cdata->field
  • Elementos de array em C podem ser acessados como elementos de array comuns do PHP, por exemplo, $cdata[$offset]
  • Arrays em C podem ser iterados usando instruƧƵes foreach.
  • Arrays em C podem ser usados como argumentos de count().
  • Ponteiros em C podem ser desreferenciados como arrays, por exemplo, $cdata[0]
  • Ponteiros em C podem ser comparados usando operadores comuns de comparação (<, <=, ==, !=, >=, >).
  • Ponteiros em C podem ser incrementados e decrementads usando as operaƧƵes comuns +/-/ ++/--, por exemplo, $cdata += 5
  • Ponteiros em C podem ser subtraĆ­dos de outros usando operaƧƵes normais de subtração -.
  • Ponteiros para funƧƵes em C podem ser chamados como closures normais de PHP, por exemplo, $cdata()
  • Qualquer dado em C pode ser duplicado usando o operador clone, por exemplo, $cdata2 = clone $cdata;
  • Qualquer dado em C pode ser visualizado usando var_dump(), print_r() etc.
  • FFI\CData agora pode ser atribuĆ­do a estruturas e campos a partir do PHP 8.3.0.

Nota: Limitações notÔveis são: instâncias FFI\CData não suportam isset(), empty() e unset(); e estruturas e uniões C encapsuladas não implementam Traversable.

Resumo da classe

namespace FFI;
final class CData {
}

Registro de AlteraƧƵes

Versão Descrição
8.3.0 FFI\CData agora pode ser atribuĆ­do a estruturas e campos.
+adicionar nota

Notas de UsuƔrios

Não hÔ notas de usuÔrios para esta pÔgina.