Не вполне корректное поведение PHP.

  • Автор темы Автор темы Voldar
  • Дата начала Дата начала

Voldar

Новичок
Не вполне корректное поведение PHP.

Только что столкнулись со странным поведением PHP:

Есть класс class3, который наследует class2 который, в свою очередь наследует class1.
В классе class3 мы переопределяем одну функцию класса class2, при этом забываем поставить закрывающую скобочку. При этом PHP вместо того, чтобы отдавать ошибку просто ничего не выдает. Соответственно вопрос следующий:
Это баг PHP или я просто слишком многого от него хочу?
Если это баг - возьмется кто-то запостить его на php.net - я для этого слишком основательно забыл английский :).

Код примерно следующий

require_once('class2.php');

class class3 extends class2
{
function someFunction($id, $status)
{
blah-blah-blah;
}


Т.е. в классе class2 была функция someFunction, в классе class3 мы ее переопределили. Как видно в примере последней скобочки нет.
Версия PHP 4.3.2
 
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /www/index.php on line 35
 
Voldar, ты из большого скрипта вынул кусок когда сюда его выкладывал или попробовал указанный тобой же пример?
 
Выдрал из большого куска кода - писал, что называется "на бегу" :-). Сегодня, если получится, или на выходнях прпробую эту багу поотлавливать и выложу реальный пример.
 
так ты сначала попробуй этот (маленький, тот что здесь) кусок протестировать - тогда поймешь что ошибка где-то в проге самой, причем обычная синтаксическая
 
Особенно оспасны в этом плане регулярные выражения... Возьмем например такое
$regexp = '~... (?> ... ) ...~'; при комментировании этой строчки '//' PHP кричит PARSE ERROR, догадайтесь почему...
 
to Profic:
PHP:
/* 
$regexp = '~... (?> ... ) ...~';
*/
никто ничего не кричит (((:
 
SA739 читать умеем? при комментировании этой строчки '//', т.е. ДВУМЯ СЛЕШАМИ
PHP:
<?php
//$regexp = '~... (?> ... ) ...~';
?>

Понятно?
 
Сверху