這一小節裡面的範例敲出來報錯啊
宝怡
宝怡 2019-07-23 13:28:20
0
5
1350

用use匯入命名空間的時候 會顯示語法錯誤,或是顯示命名空間中的類別已經定義了啊

的php版本是7.2.10

宝怡
宝怡

全部回覆(3)
王先生

我調整了一下呼叫程式碼的位置就可以了。哪個地方需要調用,就寫在他的前面。 (老師的正常顯示,我們的不能正常顯示其實我也搞不清楚問題在哪裡。以後在編程的過程中註意不要重名就好了或者用其他方式規避重名,不一定要完完全全按照老師的來)

<?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);

 ?>


##

Peter-Zhu

把原始碼,還有出錯提示全部貼上來看一下

  • 回覆 test1.php程式碼: ###姓名; } } test2.php程式碼: ###姓名; } } echo (新命名空間\test1)->getName(); 回顯'<?php namespace Demo1; class test1 { private $name = 'www.php.cn'; public function getName() { return $this->'; 報錯提示: 致命錯誤:無法宣告類別 Demo2\test1,因為該名稱已在第 6 行的 D:\phpstudy\PHPTutorial\WWW\dododo\php\phpCh\chapter07\test2.php 中使用
    宝怡 作者 2019-08-07 22:13:31
  • 回覆 test2.php最後還有一行: echo (new test1)->getName();
    宝怡 作者 2019-08-07 22:14:56
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板