]> granicus.if.org Git - php/commitdiff
Update
authorMarcus Boerger <helly@php.net>
Tue, 6 Jan 2004 00:51:43 +0000 (00:51 +0000)
committerMarcus Boerger <helly@php.net>
Tue, 6 Jan 2004 00:51:43 +0000 (00:51 +0000)
Zend/tests/bug26802.phpt

index beb06cdd735ac3048b52215fce6c2e738c75b9d4..3adb686bc3582362874619381876c0753016eb32 100755 (executable)
@@ -2,11 +2,28 @@
 Bug #26802 (Can't call static method using a variable)
 --FILE--
 <?php
-       
+
+function func() {
+       echo __METHOD__ . "\n";
+}
+
+function work() {
+       echo __METHOD__ . "\n";
+}
+
+$function = 'func';
+$function();
+
 class foo
 {
+       static $method = 'func';
+
        static public function bar() {
-               print "baz\n";
+               echo __METHOD__ . "\n";
+       }
+       
+       static public function func() {
+               echo __METHOD__ . "\n";
        }
 }
 
@@ -16,9 +33,17 @@ $static_method = "foo::bar";
 
 $static_method();
 
+/* The following is a BC break with PHP4 where it would 
+ * call foo::fail. In PHP5 we first evaluate static class 
+ * properties and then do the function call.
+ */
+$method = 'fail';
+foo::$method();
 ?>
 ===DONE===
 --EXPECT--
-baz
-baz
+func
+foo::bar
+foo::bar
+func
 ===DONE===