Annotation of embedaddon/php/tests/lang/passByReference_007.phpt, revision 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>