Annotation of embedaddon/php/tests/lang/passByReference_007.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Pass function and method calls by reference and by value.
                      3: --FILE--
                      4: <?php
                      5: class C {
                      6:        static function sreturnVal() {
                      7:                global $a;
                      8:                return $a;
                      9:        }
                     10:        
                     11:        static function &sreturnReference() {
                     12:                global $a;
                     13:                return $a;
                     14:        }
                     15: 
                     16:        function returnVal() {
                     17:                global $a;
                     18:                return $a;
                     19:        }
                     20:        
                     21:        function &returnReference() {
                     22:                global $a;
                     23:                return $a;
                     24:        }
                     25: }
                     26: 
                     27: function returnVal() {
                     28:                global $a;
                     29:                return $a;
                     30: }
                     31: 
                     32: function &returnReference() {
                     33:                global $a;
                     34:                return $a;
                     35: }
                     36: 
                     37: 
                     38: 
                     39: function foo(&$ref) {
                     40:        var_dump($ref);
                     41:        $ref = "changed";
                     42: }
                     43: 
                     44: 
                     45: echo "Pass a function call that returns a value:\n";
                     46: $a = "original";
                     47: foo(returnVal());
                     48: var_dump($a);
                     49: 
                     50: echo "Pass a function call that returns a reference:\n";
                     51: $a = "original";
                     52: foo(returnReference());
                     53: var_dump($a);
                     54: 
                     55: 
                     56: echo "\nPass a static method call that returns a value:\n";
                     57: $a = "original";
                     58: foo(C::sreturnVal());
                     59: var_dump($a);
                     60: 
                     61: echo "Pass a static method call that returns a reference:\n";
                     62: $a = "original";
                     63: foo(C::sreturnReference());
                     64: var_dump($a);
                     65: 
                     66: 
                     67: $myC = new C;
                     68: echo "\nPass a method call that returns a value:\n";
                     69: $a = "original";
                     70: foo($myC->returnVal());
                     71: var_dump($a);
                     72: 
                     73: echo "Pass a method call that returns a reference:\n";
                     74: $a = "original";
                     75: foo($myC->returnReference());
                     76: var_dump($a);
                     77: 
                     78: ?>
                     79: --EXPECTF--
                     80: Pass a function call that returns a value:
                     81: 
                     82: Strict Standards: Only variables should be passed by reference in %s on line 44
                     83: string(8) "original"
                     84: string(8) "original"
                     85: Pass a function call that returns a reference:
                     86: string(8) "original"
                     87: string(7) "changed"
                     88: 
                     89: Pass a static method call that returns a value:
                     90: 
                     91: Strict Standards: Only variables should be passed by reference in %s on line 55
                     92: string(8) "original"
                     93: string(8) "original"
                     94: Pass a static method call that returns a reference:
                     95: string(8) "original"
                     96: string(7) "changed"
                     97: 
                     98: Pass a method call that returns a value:
                     99: 
                    100: Strict Standards: Only variables should be passed by reference in %s on line 67
                    101: string(8) "original"
                    102: string(8) "original"
                    103: Pass a method call that returns a reference:
                    104: string(8) "original"
                    105: string(7) "changed"

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>