Я просто хочу назвать метод в своем классе list()
. Если я пытаюсь сделать так:Имя метода, связанное с конструкцией языка
class MyClass {
function list() {
// Do some stuff here
}
}
... Я получаю ошибку синтаксического анализа (Unexpected T_STRING...
). То же самое верно, если я использую echo
или print
- так что я предполагаю, что мне не разрешено называть метод класса такой же, как языковая конструкция, и
while I cannot find any documentation that explicitly states this to be the case,
Я полагаю, что это имеет смысл.
Мой вопрос: кто-нибудь знает об этом, , который будет работать в PHP 4.3.10?
Я знаю, что это можно сделать в PHP 5.3+ с закрытием (или я предполагаю, что может, я на самом деле не пытался)
Никаких версий PHP на сегодняшний день не поддерживают это с закрытием, но кто-нибудь может подумать о том, что не полагается на это, не имея в виду, что это метод имя, что важно здесь?
EDITN.B.
Я полностью осведомлен о том, как древний и мертвый PHP4 есть, но у меня нет возможности для этого конкретного проекта. Он должен запускаться на платформе, распространяемой с PHP 4.3.10, которая является очень низкой платформой BusyBox с процессором MIPS, для которой не предусмотрены компиляторы. Мне удалось создать кросс-компилятор и успешно создать PHP 5.2 для него (я еще не пробовал 5.3, скорее всего, это связано с компиляцией нового Apache), но независимо от этого производитель настаивает на том, что это аннулирует их гарантию.
Вы ищете эту страницу: [PHP Reserved Keywords] (http://php.net/manual/en/reserved.keywords.php) –
Почему вы не можете назвать это чем-то еще? 'list()' = 'listing()', 'echo()' = 'e()' и 'print()' = 'p()' например. – Treffynnon
@Cicada большое спасибо за это, я думал, что должна быть страница руководства, которую я пропустил на этом. Я все еще думаю, что * может * быть каким-то образом определить метод динамически в PHP4, но это есть, я не знаю, что. – DaveRandom