PHP 5.4 Call-time Pass-by-Reference 문제 수정
PHP 5.4 도입으로 Call-time Pass- 참조에 의한 호출로 인해 "참조에 의한 호출 시간이 제거되었습니다." 오류가 발생합니다. 이 오류는 레거시 코드에서 변수가 참조로 함수에 전달될 때 발생합니다.
쉬운 수정 또는 완전 재작성?
이 문제를 쉽게 해결할 수는 없습니다. 문제는 함수 호출이 아닌 함수 정의에서 참조가 선언되는 방식에서 비롯됩니다. PHP 문서에는 "함수 호출에는 참조 기호가 없습니다. 함수 정의에만 있습니다."
레거시 코드 다시 작성
PHP가 호출에 대한 지원 중단 오류를 발행하기 시작한 이후 -time 버전 5.3의 참조별 전달에서는 잠재적인 호환성 문제를 방지하기 위해 레거시 코드를 다시 작성하는 것이 좋습니다. future.
예제 재작성
대신:
// Wrong way! myFunc(&$arg); // Deprecated pass-by-reference argument function myFunc($arg) { }
사용:
// Right way! myFunc($arg); // pass-by-value argument function myFunc(&$arg) { }
함수에서 참조 선언 정의를 통해 함수에서 더 이상 사용되지 않는 구문 없이도 PHP가 참조로 인수를 전달하는지 확인합니다. 전화하세요.
위 내용은 PHP 5.4 \'Call-time Pass-by-reference가 제거되었습니다\' 오류를 어떻게 수정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!