报错 Fatal error: Cannot declare function Demo2\test because the name is already in use in
王先生
王先生 2019-10-18 16:53:44
0
13
1419

和老师一样的代码,报错:

Fatal error: Cannot declare function Demo2\test because the name is already in use in E:\wwwroot\phpbase\object\namespace\test2.php on line 5

test1代码:

<?php 

namespace Demo1;

function test($a,$b)

{

  return $a*$b;

}

?>

test2代码:

<?php

namespace Demo2;

require('test1.php');

use function Demo1\test;

function test($a,$b)

{

  return $a+$b;

}

echo test(4,5) ;// 非限定命名空间

echo "<hr>";

echo test(4,5);

 ?>


王先生
王先生

모든 응답(10)
老老宋

666666.pngtest1.php 文件

  • 회신하다 其实把调用的位置调整之下也是可以解决的(哪里调用就放在那个前面,不要把所有引入的都放一起)。也有其他解决方案,我只是好奇一样的操作,一样的代码,老师的可以,我的不行
    王先生 작가 2019-10-18 18:53:21
老老宋

test1.php 和 test2.php 是放在不同的 Demo1 和 Demo2 文件夹中

  • 회신하다 我是放在两个文件中的
    王先生 작가 2019-10-18 18:50:01
老老宋

use function Demo1\test;  这一行去掉 就可以了

  • 회신하다 要的就是通过命名空间导入函数,去掉还有啥意义
    王先生 작가 2019-10-18 18:30:33
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!