2010-04-18 5 views

답변

7

PHP에서는 모든 것이 기본적으로 값으로 반환됩니다. 예외는 있지만 atm은 생각할 수 없습니다. 기본적으로 참조로 전달되는 객체 (PHP> 5.0)는 예외입니다.

+0

예, 참조로 전달됩니다. 감사 ! – Andree

+0

이 경우 "무엇"이 무슨 뜻입니까? 질문을 던진 코드가 객체를 반환 했습니까? – Sam

0

분명히 참조로 반환됩니다. 이 간단한 코드는 그것을 증명합니다.

<?php 

class InsideObject 
{ 
    public $variable; 
} 

class OutsideObject 
{ 
    private $insideObject; 

    public function __construct() 
    { 
     $this->insideObject = new InsideObject(); 
     $this->insideObject->variable = '1'; 
    } 

    public function echoVar() 
    { 
     echo $this->insideObject->variable; 
    } 

    public function getInsideObject() 
    { 
     return $this->insideObject; 
    } 
} 

$object = new OutsideObject(); 
$object->echoVar(); // should be 1 

$insideObject = $object->getInsideObject(); 
$insideObject->variable = '2'; 

$object->echoVar(); // should be 2