2010-06-19 6 views
1

이 일부 바보 같은 질문이있을 수 있습니다,하지만 난 PHP 같은 무언가에 어떻게 반응하는지 궁금 : 나는 집 PHP는 프레임 워크에서 일부 업그레이드를 사람을 지원하고있어PHP의 참조 변수를 긴 변수 이름의 별칭으로 사용할 수 있습니까?

$blog_title = &$author->get_blog()->get_title(); 

. 일부 장소에서 반복적으로 진행되는 심각한 메소드 체인이 있습니다. 변수의 불필요한 복사본없이 코드를 더 읽기 쉽게 만들고 싶습니다. 코드를 정밀 검사 할 수 없어서 내가 가지고있는 것과 함께 작업해야합니다.

아마 위대한 관행은 아니지만 잠재적 인 단점은 무엇입니까?

답변

4

함수가 실제로 참조를 반환 할 때만 의미가 있습니다. (내 교훈에 따르면 아마 그렇지 않을 것입니다.) 이는 전체 스크립트에 대해 정적 인 정적이 유지되기를 바란다는 의미입니다. 자신의 짧은 함수 나 콜백을 정의하여 차선책으로 사용할 수 있습니다.

꼭 한번 평가할 필요가 있지만 함수의 리턴이 하나가 아닌 경우 참조에서 어떤 마법을 기대하지 않는다면 변수에 함수를 반환하십시오.

인 경우 참조를 반환하면 해당 코드는 의미가없는 참조를 사용하는 것이므로 가능한 빨리 수정해야합니다.

+0

내가 PHP로 작업 한 이래로 솔직히 언젠가였습니다. 이와 같은 것들을위한 변수를 만드는 것이 나쁜 습관이 아닌가? '$ this-> name'을 입력하고 싶지 않은 시나리오는 어떻습니까? – doomspork

+1

"입력 할 필요가 없습니다"는 항상 코드를 변경하는 나쁜 이유이며 편집자에게 코드 완성 기능이있는 주된 이유입니다. 캐시 기능 결과 및 변수가 변경되지는 않을 것이지만 입력을 피하기 위해 참조를 사용하지 않는다면 참조는 쉽게 코드를 찾기 어려울 수 있습니다. – Wrikken

관련 문제