我只是瞎搞,我已經遇到這不起作用:命名空間用的eval()和include()如預期
不工作
<?php
namespace first{
include 'data:text/plain, <?php function a_func(){echo "hi";}';
a_func();
}
namespace second{
include 'data:text/plain, <?php function a_func(){echo "bye";}';
a_func();
}
[29-Apr-2016 14:12:42 America/New_York] PHP Fatal error: Cannot redeclare a_func() (previously declared in data:text/plain, <?php function a_func(){echo "hi";}:1) in data:text/plain, <?php function a_func(){echo "bye";} on line 1
不工作
<?php
namespace first{
eval('function a_func(){echo "hi";}');
a_func();
}
namespace second{
eval('function a_func(){echo "bye";}');
a_func();
}
[29-Apr-2016 14:19:21 America/New_York] PHP Fatal error: Cannot redeclare a_func() (previously declared in C:\path\test.php(3) : eval()'d code:1) in C:\path\test.php(7) : eval()'d code on line 1
作品
<?php
namespace first{
function a_func(){echo "hi";}
a_func();
}
namespace second{
function a_func(){echo "bye";}
a_func();
}
測試在PHP 5.6.20和7.0.5
這是一個錯誤?特徵?有目的地實施?
附加題:如何讓我無論是include()
或eval()
工作?