Как стать автором
Обновить

Комментарии 32

Помечать устаревшие и нерекомендуемые к использованию функции и методы.
в phpdoc'е помечать.
варнинги не у всех включены, да и в логи не все смотрят :)
Ну во-первых для разработчика E_ALL все-таки норма. Как и смотреть в логи.

А во-вторых это не для конечных пользователей, а для того, чтобы автор одного класса или модуля мог сказать автору другого «осторожно, не стоит это использовать, есть более новое решение».
вот осторожно это сделать можно как раз с phpdoc
>>варнинги не у всех включены, да и в логи не все смотрят :)

Ну да, в документацию смотрят как раз все -))
НЛО прилетело и опубликовало эту надпись здесь
Ну это в общем-то логично, если подумать.
Дисциплинирует.
в команде обычно используют phpdoc — и пишут и читают
НЛО прилетело и опубликовало эту надпись здесь
А чем это лучше

deprecated deprecatedFunc() {

}

? Кроме того, что можно использовать прямо сейчас?
НЛО прилетело и опубликовало эту надпись здесь
Согласен.

Это был топик-мечта, если что -))
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Честно говоря, не понял Ваш вопрос.

Разбор кода и исполнение в PHP — практически единый процесс, если не углубляться в детали и ключи.
НЛО прилетело и опубликовало эту надпись здесь
Сферический конь в вакууме.

Какой смысл помечать функцию, которая вообще не используется? Какой смысл ее вообще держать в коде?

Давайте рассуждать в рамках текущей реальности.
НЛО прилетело и опубликовало эту надпись здесь
Присоединюсь к комментарию — Помечать в phpDoc'e.
Либо в описании используемого свойства-метода-класса (например минусиком перед описанием), либо в (а лучше дублировать) в теге @todo.
Не стоит смешивать уровни выполнения и разработки.
Ответьте мне тогда внятно, зачем введен уровень E_USER_DEPRECATED?
Может, просто отключить реакцию на этот Warning?
На какой?
Сделать callback на все ошибки и конкретно эту ошибку не обрабатывать.
Скажите пожалуйста, а Вы на PHP всерьез пишете? Интерес не праздный, просто создается впечатление, что Вы немного не знакомы с понятием «уровень ошибок», возможно стоит статью про это написать?
Насколько я помню, warning не прерывает исполнение программы или процесс построения дерева исполнения. Поэтому и проблем не вижу.

Я стараюсь избавиться ото всех ошибок вообще. Без разницы какого уровня. Поэтому нюансы мог и забыть.

Если напишите статью, где будут отражены не очевидные моменты, буду благодарен. Если просто пересказ мануала, то не надо.

ЗЫ: Да, пишу на PHP всерьез. Но этот язык мне очень не нравится.
Решение «в лоб»: чекаутите сырцы PHP из стабильной ветки интересующей вас версии, смотрите в лексер и реализацию на уровне ZE синтаксиса «abstract» и дописываете по образу и подобию. После чего генерите patch-файл и сабмитите его в какой-нить мыллист @php.net
Есть другое решение в лоб — набрать посту сто молчаливых минусов и забыть эту идею.

Что там у нас сейчас модно и вызывает радостное повизгивание? RoR? Или уже не тренд?
Истеричко. Добро пожаловать на хабр :D
Скорее реалист.
Еще одни костыли, может кому понравится, хотя вариант с ругательством в старом методе проще:

// Новое имя для метода
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);
    }
}
Омайнготт, исключения -))
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации