bug27504.phpt 678 B

12345678910111213141516171819202122232425262728
  1. --TEST--
  2. Bug #27504 (call_user_func_array allows calling of private/protected methods)
  3. --FILE--
  4. <?php
  5. class foo {
  6. function __construct () {
  7. $this->bar('1');
  8. }
  9. private function bar ( $param ) {
  10. echo 'Called function foo:bar('.$param.')'."\n";
  11. }
  12. }
  13. $foo = new foo();
  14. call_user_func_array( array( $foo , 'bar' ) , array( '2' ) );
  15. $foo->bar('3');
  16. ?>
  17. --EXPECTF--
  18. Called function foo:bar(1)
  19. Warning: call_user_func_array() expects parameter 1 to be a valid callback, cannot access private method foo::bar() in %s on line %d
  20. Fatal error: Uncaught Error: Call to private method foo::bar() from context '' in %s:%d
  21. Stack trace:
  22. #0 {main}
  23. thrown in %s on line %d