用use匯入命名空間的時候 會顯示語法錯誤,或是顯示命名空間中的類別已經定義了啊
的php版本是7.2.10
我調整了一下呼叫程式碼的位置就可以了。哪個地方需要調用,就寫在他的前面。 (老師的正常顯示,我們的不能正常顯示其實我也搞不清楚問題在哪裡。以後在編程的過程中註意不要重名就好了或者用其他方式規避重名,不一定要完完全全按照老師的來)
<?php
namespace Demo2;
// use function Demo1\test as testAA;
function test($a, $b)
{
return $a $b;
}
echo test(4,5) ;// 非限定命名空間
require('test1.php');
use const \demo1\CITY;
use const \demo1\COUNTRY;
#use function \Demo1 \test;
echo "<hr>";
echo test(4,5);
echo '呼叫test1中的常數:'.COUNTRY.'---';
echo CITY;
?>
和老師一樣的程式碼,報錯:
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程式碼:
#namespace Demo1;
function test($a,$b)
return $a*$b;
test2程式碼:
use function Demo1\test;
#echo test(4,5) ;// 非限定命名空間
##
把原始碼,還有出錯提示全部貼上來看一下
我調整了一下呼叫程式碼的位置就可以了。哪個地方需要調用,就寫在他的前面。 (老師的正常顯示,我們的不能正常顯示其實我也搞不清楚問題在哪裡。以後在編程的過程中註意不要重名就好了或者用其他方式規避重名,不一定要完完全全按照老師的來)
<?php
namespace Demo2;
// use function Demo1\test as testAA;
function test($a, $b)
{
return $a $b;
}
echo test(4,5) ;// 非限定命名空間
require('test1.php');
use const \demo1\CITY;
use const \demo1\COUNTRY;
#use function \Demo1 \test;
echo "<hr>";
echo test(4,5);
echo "<hr>";
echo '呼叫test1中的常數:'.COUNTRY.'---';
echo CITY;
?>
和老師一樣的程式碼,報錯:
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);
?>
##
把原始碼,還有出錯提示全部貼上來看一下