报错 치명적인 오류: Demo2\test 함수 이름이 이미 사용 중이므로 선언할 수 없습니다.
王先生
王先生 2019-10-18 16:53:44
0
13
1575

교사와 동일한 코드, 오류:

치명적인 오류: Demo2test 함수를 선언할 수 없습니다. 해당 이름은 5행의 E:wwwrootphpbaseobjectnamespacetest2.php에서 이미 사용 중이기 때문입니다.

test1 코드:

<?php

namespace Demo1 ;

함수 테스트($a,$b)

{

return $a*$b;

}

?>

test2 코드:

<?php

namespace Demo2;

require ('test1.php');

함수 Demo1test 사용;

function test($a,$b)

{

return $a+$b;

}

echo test(4,5) ; // 자격이 없는 네임스페이스

echo "<hr>";

echo test(4,5);

?>


王先生
王先生

모든 응답(10)
王先生

당신은 정말 공부를 많이 하는군요, 형님!

老老宋

그럼 모르겠어요

老老宋

Screenshot_6.png최종 결과는 9

老老宋

ssss.pngtest2.php 파일

老老宋

666666.pngtest1.php 파일

  • 회신하다 실제로 통화 위치를 조정하면 해결될 수도 있습니다. (통화 앞에 두세요. 소개를 다 같이 넣지 마세요.) 다른 솔루션이 있습니다. 동일한 작업과 동일한 코드가 궁금합니다. 선생님의 솔루션은 작동하지만 내 솔루션은 작동하지 않습니다.
    王先生 작가 2019-10-18 18:53:21
老老宋

test1.php와 test2.php는 서로 다른 Demo1 및 Demo2 폴더에 배치됩니다

  • 회신하다 파일 2개에 넣어놨어요
    王先生 작가 2019-10-18 18:50:01
老老宋

Demo1test 기능을 사용하세요. 이 줄만 삭제하세요

  • 회신하다 필요한 것은 네임스페이스를 통해 함수를 가져오는 것입니다. 이를 제거하는 이유는 무엇입니까?
    王先生 작가 2019-10-18 18:30:33
王先生

선생님의 코드는 이런 이름의 중복을 해결하는 것입니다. 그의 시연은 틀린 것이 아니지만, 동일한 코드를 사용하면 틀린 것입니다.

老老宋

test2 자체에 테스트 메소드가 있고, 소개한 test1에도 테스트 메소드가 있습니다

동일한 .php에 동일한 메소드가 존재하므로 위의 오류가 발생합니다

http://php.wyscdz.com

王先生

위 오류는 PHP 버전이 7.0.12

5.6.27로 다시 전환하면 다음 오류가 보고됩니다.

치명적인 오류: 정의되지 않은 함수 Demo1test() 호출

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿