047.phpt 614 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. --TEST--
  2. FFI 047: FFI::CData->cdata meaning
  3. --EXTENSIONS--
  4. ffi
  5. --INI--
  6. ffi.enable=1
  7. --FILE--
  8. <?php
  9. $x = FFI::new("int");
  10. $x->cdata = 42;
  11. var_dump($x);
  12. $x = FFI::new("int*");
  13. try {
  14. $x->cdata = 42;
  15. var_dump($x);
  16. } catch (Throwable $e) {
  17. echo $e->getMessage() . "\n";
  18. }
  19. $x = FFI::new("struct {int cdata;}");
  20. try {
  21. $x->cdata = 42;
  22. var_dump($x);
  23. } catch (Throwable $e) {
  24. echo $e->getMessage() . "\n";
  25. }
  26. ?>
  27. --EXPECTF--
  28. object(FFI\CData:int32_t)#%d (1) {
  29. ["cdata"]=>
  30. int(42)
  31. }
  32. Attempt to assign field 'cdata' of non C struct/union
  33. object(FFI\CData:struct <anonymous>)#%d (1) {
  34. ["cdata"]=>
  35. int(42)
  36. }