closure_033.phpt 551 B

12345678910111213141516171819202122232425262728293031
  1. --TEST--
  2. Closure 033: Dynamic closure property and private function
  3. --FILE--
  4. <?php
  5. class Test {
  6. public $func;
  7. function __construct() {
  8. $this->func = function() {
  9. echo __METHOD__ . "()\n";
  10. };
  11. }
  12. private function func() {
  13. echo __METHOD__ . "()\n";
  14. }
  15. }
  16. $o = new Test;
  17. $f = $o->func;
  18. $f();
  19. $o->func();
  20. ?>
  21. ===DONE===
  22. --EXPECTF--
  23. {closure}()
  24. Fatal error: Uncaught Error: Call to private method Test::func() from global scope in %s:%d
  25. Stack trace:
  26. #0 {main}
  27. thrown in %sclosure_033.php on line %d