Комментарии 32
а зачем?
0
Помечать устаревшие и нерекомендуемые к использованию функции и методы.
+1
в phpdoc'е помечать.
варнинги не у всех включены, да и в логи не все смотрят :)
варнинги не у всех включены, да и в логи не все смотрят :)
0
Ну во-первых для разработчика E_ALL все-таки норма. Как и смотреть в логи.
А во-вторых это не для конечных пользователей, а для того, чтобы автор одного класса или модуля мог сказать автору другого «осторожно, не стоит это использовать, есть более новое решение».
А во-вторых это не для конечных пользователей, а для того, чтобы автор одного класса или модуля мог сказать автору другого «осторожно, не стоит это использовать, есть более новое решение».
+1
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
А чем это лучше
deprecated deprecatedFunc() {
…
}
? Кроме того, что можно использовать прямо сейчас?
deprecated deprecatedFunc() {
…
}
? Кроме того, что можно использовать прямо сейчас?
0
НЛО прилетело и опубликовало эту надпись здесь
Честно говоря, не понял Ваш вопрос.
Разбор кода и исполнение в PHP — практически единый процесс, если не углубляться в детали и ключи.
Разбор кода и исполнение в PHP — практически единый процесс, если не углубляться в детали и ключи.
0
Присоединюсь к комментарию — Помечать в phpDoc'e.
Либо в описании используемого свойства-метода-класса (например минусиком перед описанием), либо в (а лучше дублировать) в теге @todo.
Не стоит смешивать уровни выполнения и разработки.
Либо в описании используемого свойства-метода-класса (например минусиком перед описанием), либо в (а лучше дублировать) в теге @todo.
Не стоит смешивать уровни выполнения и разработки.
0
Может, просто отключить реакцию на этот Warning?
0
На какой?
0
Сделать callback на все ошибки и конкретно эту ошибку не обрабатывать.
0
Скажите пожалуйста, а Вы на PHP всерьез пишете? Интерес не праздный, просто создается впечатление, что Вы немного не знакомы с понятием «уровень ошибок», возможно стоит статью про это написать?
0
Насколько я помню, warning не прерывает исполнение программы или процесс построения дерева исполнения. Поэтому и проблем не вижу.
Я стараюсь избавиться ото всех ошибок вообще. Без разницы какого уровня. Поэтому нюансы мог и забыть.
Если напишите статью, где будут отражены не очевидные моменты, буду благодарен. Если просто пересказ мануала, то не надо.
ЗЫ: Да, пишу на PHP всерьез. Но этот язык мне очень не нравится.
Я стараюсь избавиться ото всех ошибок вообще. Без разницы какого уровня. Поэтому нюансы мог и забыть.
Если напишите статью, где будут отражены не очевидные моменты, буду благодарен. Если просто пересказ мануала, то не надо.
ЗЫ: Да, пишу на PHP всерьез. Но этот язык мне очень не нравится.
0
Решение «в лоб»: чекаутите сырцы PHP из стабильной ветки интересующей вас версии, смотрите в лексер и реализацию на уровне ZE синтаксиса «abstract» и дописываете по образу и подобию. После чего генерите patch-файл и сабмитите его в какой-нить мыллист @php.net
+1
Еще одни костыли, может кому понравится, хотя вариант с ругательством в старом методе проще:
// Новое имя для метода public function deprecatedMethod($arg1, $arg2) {} public function __call($methodName, $args) { // Внутри isDeprecated кидаем исключение/выводим предупреждение if (Utils::isDeprecated(get_class($this), methodName)) { return call_user_func_array(array($this, 'depracted' . ucfirst($methodName)), $args); } }
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Одна маленькая фича, которой мне не хватает в PHP…