009.phpt 944 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. --TEST--
  2. get_class() tests
  3. --FILE--
  4. <?php
  5. class foo {
  6. function bar () {
  7. var_dump(get_class());
  8. }
  9. function testNull ()
  10. {
  11. try {
  12. var_dump(get_class(null));
  13. } catch (TypeError $e) {
  14. echo $e->getMessage(), "\n";
  15. }
  16. }
  17. }
  18. class foo2 extends foo {
  19. }
  20. $f1 = new foo;
  21. $f2 = new foo2;
  22. $f1->bar();
  23. $f2->bar();
  24. try {
  25. var_dump(get_class());
  26. } catch (Error $e) {
  27. echo $e->getMessage(), "\n";
  28. }
  29. try {
  30. var_dump(get_class("qwerty"));
  31. } catch (TypeError $e) {
  32. echo $e->getMessage(), "\n";
  33. }
  34. var_dump(get_class($f1));
  35. var_dump(get_class($f2));
  36. $f1->testNull();
  37. echo "Done\n";
  38. ?>
  39. --EXPECT--
  40. string(3) "foo"
  41. string(3) "foo"
  42. get_class() without arguments must be called from within a class
  43. get_class(): Argument #1 ($object) must be of type object, string given
  44. string(3) "foo"
  45. string(4) "foo2"
  46. get_class(): Argument #1 ($object) must be of type object, null given
  47. Done