ReflectionClass_getProperty_002.phpt 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. --TEST--
  2. ReflectionClass::getProperty() - error cases
  3. --CREDITS--
  4. Robin Fernandes <robinf@php.net>
  5. Steve Seear <stevseea@php.net>
  6. --FILE--
  7. <?php
  8. class C {
  9. public $a;
  10. }
  11. $rc = new ReflectionClass("C");
  12. echo "Check invalid params:\n";
  13. try {
  14. var_dump($rc->getProperty());
  15. } catch (TypeError $e) {
  16. echo $e->getMessage() . "\n";
  17. }
  18. try {
  19. var_dump($rc->getProperty("a", "a"));
  20. } catch (TypeError $e) {
  21. echo $e->getMessage() . "\n";
  22. }
  23. try {
  24. var_dump($rc->getProperty(null));
  25. } catch (exception $e) {
  26. echo $e->getMessage() . "\n";
  27. }
  28. try {
  29. var_dump($rc->getProperty(1));
  30. } catch (exception $e) {
  31. echo $e->getMessage() . "\n";
  32. }
  33. try {
  34. var_dump($rc->getProperty(1.5));
  35. } catch (exception $e) {
  36. echo $e->getMessage() . "\n";
  37. }
  38. try {
  39. var_dump($rc->getProperty(true));
  40. } catch (exception $e) {
  41. echo $e->getMessage() . "\n";
  42. }
  43. try {
  44. var_dump($rc->getProperty(array(1,2,3)));
  45. } catch (TypeError $e) {
  46. echo $e->getMessage() . "\n";
  47. }
  48. try {
  49. var_dump($rc->getProperty(new C));
  50. } catch (TypeError $e) {
  51. echo $e->getMessage() . "\n";
  52. }
  53. ?>
  54. --EXPECTF--
  55. Check invalid params:
  56. ReflectionClass::getProperty() expects exactly 1 argument, 0 given
  57. ReflectionClass::getProperty() expects exactly 1 argument, 2 given
  58. Deprecated: ReflectionClass::getProperty(): Passing null to parameter #1 ($name) of type string is deprecated in %s on line %d
  59. Property C::$ does not exist
  60. Property C::$1 does not exist
  61. Property C::$1.5 does not exist
  62. Property C::$1 does not exist
  63. ReflectionClass::getProperty(): Argument #1 ($name) must be of type string, array given
  64. ReflectionClass::getProperty(): Argument #1 ($name) must be of type string, C given