static_properties_003.phpt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. --TEST--
  2. Attempting to access static properties using instance property syntax
  3. --FILE--
  4. <?php
  5. class C {
  6. public static $x = 'C::$x';
  7. protected static $y = 'C::$y';
  8. }
  9. $c = new C;
  10. echo "\n--> Access visible static prop like instance prop:\n";
  11. var_dump(isset($c->x));
  12. unset($c->x);
  13. echo $c->x;
  14. $c->x = 1;
  15. $ref = 'ref';
  16. $c->x =& $ref;
  17. var_dump($c->x, C::$x);
  18. echo "\n--> Access non-visible static prop like instance prop:\n";
  19. var_dump(isset($c->y));
  20. //unset($c->y); // Fatal error, tested in static_properties_003_error1.phpt
  21. //echo $c->y; // Fatal error, tested in static_properties_003_error2.phpt
  22. //$c->y = 1; // Fatal error, tested in static_properties_003_error3.phpt
  23. //$c->y =& $ref; // Fatal error, tested in static_properties_003_error4.phpt
  24. ?>
  25. --EXPECTF--
  26. --> Access visible static prop like instance prop:
  27. bool(false)
  28. Notice: Accessing static property C::$x as non static in %s on line 11
  29. Notice: Accessing static property C::$x as non static in %s on line 12
  30. Warning: Undefined property: C::$x in %s on line %d
  31. Notice: Accessing static property C::$x as non static in %s on line 13
  32. Notice: Accessing static property C::$x as non static in %s on line 15
  33. Notice: Accessing static property C::$x as non static in %s on line 16
  34. string(3) "ref"
  35. string(5) "C::$x"
  36. --> Access non-visible static prop like instance prop:
  37. bool(false)