closures_005.phpt 580 B

12345678910111213141516171819202122232425262728
  1. --TEST--
  2. Test closure isStatic
  3. --FILE--
  4. <?php
  5. class Foo {
  6. public static function bar(){}
  7. public function baz() {}
  8. public function qux() {
  9. return static function(){};
  10. }
  11. }
  12. $foo = new Foo;
  13. var_dump(
  14. (new ReflectionFunction(function(){}))->isStatic(),
  15. (new ReflectionFunction(static function(){}))->isStatic(),
  16. (new ReflectionFunction($foo->qux()))->isStatic(),
  17. (new ReflectionMethod($foo, 'bar'))->isStatic(),
  18. (new ReflectionMethod($foo, 'baz'))->isStatic(),);
  19. ?>
  20. --EXPECT--
  21. bool(false)
  22. bool(true)
  23. bool(true)
  24. bool(true)
  25. bool(false)