Кажется, я нашел ошибку при вызове некоторых функций PHP из пространства имен, которые я не могу понять его:называемые 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
@Seer Bzzzzzt. Неправильно. – deceze
Try/Catch не работает, потому что то, что сказал @Seer. И: http://stackoverflow.com/questions/1900208/php-custom-error-handler-handling-parse-fatal-errors – apelsinapa