설명서를 먼저 읽어보세요
==========
함수에서 참조를 반환하려면 함수를 선언하고 반환 값을 변수에 할당할 때 참조 연산자 &를 모두 사용해야 합니다.
함수 &returns_reference()
{
$someref = 0
$someref 반환
}
$newref = &returns_reference();//$newref = &$someref
와 동일
?>
인용에 대한 자세한 내용은 인용 설명을 확인하세요.
많은 오픈소스 코드가 즐겨 사용하는 단일 인스턴스 등록 모델을 살펴보겠습니다
클래스 a{}
클래스 b{}
함수 & aa($name)
{
static $class = array(); //로컬 정적 변수는 메소드 실행이 종료되어도 사라지지 않고, 전체 소스 프로그램이 끝날 때까지 지속되어 라이프 사이클을 종료합니다
If(!$class[$name]) //따라서 여기서 선언/초기화 문은 처음 선언될 때만 작동합니다
이 메서드가 나중에 호출되면 정적 변수는 더 이상
값을 다시 초기화하지 않습니다.
$class[$name] = 새로운 $name()
}
$class[$name] 반환
}
$a = & aa('a')
$b = & aa('b')
$a2 = & aa('a')
$b2 = & aa('b')
echo $a === $a2 ? '$a와 $a2는 동일한 인스턴스화된 객체입니다
' : '';
echo $b === $b2 ? '$b와 $b2는 동일한 인스턴스화된 객체입니다.' : '';