【发布时间】:2013-03-14 20:03:03
【问题描述】:
从我无法理解的命名空间调用一些 php 函数时,我似乎发现了一个错误:
<?php
namespace test;
$var = "foo/bar";
echo 'let\'s call \strpos($var, \'o\'):', \strpos($var, 'o');
try{
echo '<br />let\'s call \unset($var):';
\unset($var); //error!
unset($var); //correct!
echo '<br />let\'s call \isset($var):';
\isset($var); //error!
isset($var); //correct!
}catch(\Exception $e){
echo 'We have error:', $e->getMessage();
}
?>
PHP 说:Parse error: syntax error, unexpected T_UNSET, expecting T_STRING in global_namespace.php on line 7
甚至try...catch 都不起作用,并且仅针对全局函数isset() 和unset() 报告错误!
至少我非常喜欢它!
【问题讨论】:
-
这是因为命名空间不是用于函数,而是用于类。 :)
-
@Seer Bzzzzzt。错了。
-
Try/Catch 不起作用,因为@Seer 所说的。并且:stackoverflow.com/questions/1900208/…
-
@Seer "虽然任何有效的 PHP 代码都可以包含在命名空间中,但只有四种类型的代码受命名空间影响:类、接口、函数和常量。" @ 987654322@
-
嗯,你每天都会学到新东西,
标签: php namespaces global-namespace