property_visibility-set.phpt 956 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. --TEST--
  2. Test V8::executeString() : Property visibility - set
  3. --SKIPIF--
  4. <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
  5. --FILE--
  6. <?php
  7. #[AllowDynamicProperties]
  8. class Foo {
  9. private $privBar = "privBar";
  10. protected $protBar = "protBar";
  11. public $pubBar = "pubBar";
  12. public function dump() {
  13. var_dump($this->privBar);
  14. var_dump($this->protBar);
  15. var_dump($this->pubBar);
  16. var_dump($this->unknownBar);
  17. }
  18. }
  19. $js = new V8Js();
  20. $js->foo = new Foo();
  21. $script = <<<END
  22. PHP.foo.privBar = 'jsPriv';
  23. PHP.foo.protBar = 'jsProt';
  24. PHP.foo.pubBar = 'jsPub';
  25. PHP.foo.unknownBar = 'jsUnknown';
  26. var_dump(PHP.foo.privBar);
  27. var_dump(PHP.foo.protBar);
  28. var_dump(PHP.foo.pubBar);
  29. var_dump(PHP.foo.unknownBar);
  30. END;
  31. $js->executeString($script);
  32. $js->foo->dump();
  33. ?>
  34. ===EOF===
  35. --EXPECT--
  36. string(6) "jsPriv"
  37. string(6) "jsProt"
  38. string(5) "jsPub"
  39. string(9) "jsUnknown"
  40. string(7) "privBar"
  41. string(7) "protBar"
  42. string(5) "jsPub"
  43. string(9) "jsUnknown"
  44. ===EOF===