搜尋

首頁  >  問答  >  主體

這一小節裡面的範例敲出來報錯啊

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

的php版本是7.2.10

宝怡宝怡1960 天前1344

全部回覆(5)我來回復

  • 王先生

    王先生2019-10-18 17:35:54

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

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


     ?>


    回覆
    0
  • 王先生

    王先生2019-10-18 16:52:52

    和老師一樣的程式碼,報錯:

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

     ?>


    ##

    回覆
    0
  • 天蓬老师

    天蓬老师2019-07-25 14:06:02

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

    回覆
    0
  • 宝怡

    test1.php程式碼: ###姓名; } } test2.php程式碼: ###姓名; } } echo (新命名空間\test1)->getName(); 回顯''; 報錯提示: 致命錯誤:無法宣告類別 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
  • 取消回覆