PHP 프로그래밍에서 기능 이름의 반복 정의 오류는 일반적인 문제입니다. 이 오류로 인해 일반적으로 프로그램이 정상적으로 실행되지 않아 개발자에게 문제가 발생합니다. 이 기사는 기능 이름에 대한 반복적 인 정의 이유를 자세히 분석하고 개발자 가이 문제를 해결할 수 있도록 효과적인 솔루션을 제공합니다.
기능 이름의 중복 정의 문제는 일반적으로 다음 두 가지 상황으로 끓을 수 있습니다.
동일한 파일에서 동일한 이름으로 여러 기능을 정의하면 PHP 파서가 오류를보고하게됩니다. 예를 들어, 다음 코드는 "치명적인 오류 : redeclare test ()"오류를 트리거합니다.
기능 test () { 에코 "안녕하세요"; } <p>기능 test () {<br> 에코 "세계!";<br> }</p> <p>시험(); // 마지막으로 정의 된 함수는 여기에서 호출됩니다<br>
이 문제를 해결하기 위해 반복적으로 정의 된 함수 중 하나만 삭제하면됩니다.
기능 test () { 에코 "세계!"; } <p>시험(); // 출력 : "세계!"<br>
다른 파일에 동일한 이름을 가진 함수를 도입하면 정의 오류가 중복 될 수 있습니다. 예를 들어:
// 파일 1 : test1.php 기능 test () { 에코 "안녕하세요"; } <p>// 파일 2 : test2.php<br> 기능 test () {<br> 에코 "세계!";<br> }</p> <p>// 메인 파일 : main.php<br> 'test1.php';<br> 'test2.php';</p> <p>시험(); // 출력 : "세계!"<br>
이 상황은 또한 "치명적인 오류 : test ()"오류를 초래할 수 없습니다. 이를 피하기 위해 중복 정의를 방지하기 위해 기능을 정의하기 전에 PHP의 기능 검사 메커니즘을 사용할 수 있습니다. 일반적인 방법은 function_exists () 함수를 사용하는 것입니다.
// 파일 1 : test1.php if (! function_exists ( 'test')) { 기능 test () { 에코 "안녕하세요"; } } <p>// 파일 2 : test2.php<br> if (! function_exists ( 'test')) {<br> 기능 test () {<br> 에코 "세계!";<br> }<br> }</p> <p>// 메인 파일 : main.php<br> 'test1.php';<br> 'test2.php';</p> <p>시험(); // 출력 : "안녕하세요."<br>
파일이 소개되기 전에 함수가 정의되는지 확인하면 함수를 반복적으로 정의하는 문제를 효과적으로 피할 수 있습니다.
PHP 함수 이름의 반복적 인 정의를 풀기위한 핵심은 다음과 같습니다. 첫째, 동일한 파일에서 반복적으로 함수를 정의하지 마십시오. 둘째, 다른 파일에 소개 될 때 function_exists () 함수를 사용하여 확인하십시오. 이러한 방법을 통해 개발자는 프로그램의 안정성을 보장하고 반복적 인 정의로 인한 오류를 피할 수 있습니다.