先生と同じコード、エラー:
致命的エラー: 名前がすでに E:\wwwroot\phpbase\object\namespace\test2.php で使用されているため、関数 Demo2\test を宣言できません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);
?>
お兄さん、とても勉強家ですね!
###私は知らない###
最終結果は 9
ですtest2.php ファイル
test1.php ファイル
test1.php と test2.php は、異なる Demo1 フォルダーと Demo2 フォルダーに配置されます
関数 Demo1\test を使用します; この行を削除するだけです
先生のコードは、このような名前の重複を解決するためのもので、彼のデモは間違っていませんが、同じコードを使用すると間違ってしまいます。
test2自体にテストメソッドがあり、導入したtest1にもテストメソッドがあります
同じ.php内に同じメソッドが存在すると、上記のエラーが発生します
http://php.wyscdz .com
上記のエラーは、PHP バージョンが 7.0.12 であることを示しています。
5.6.27 に戻すと、次のエラーが報告されます:
致命的エラー: 未定義関数の呼び出しデモ1\test()