Стратегия PHP и неопределенных переменных - PullRequest
14 голосов
/ 25 августа 2010

Я программист на C ++, начинающий с PHP.Я обнаружил, что теряю большую часть времени отладки (и мою самооценку!) Из-за неопределенных переменных.Из того, что я знаю, единственный способ справиться с ними - это посмотреть результат во время выполнения.

Есть ли другие стратегии, чтобы заметить раньше эти недостатки?(что-то вроде C ++, когда одна компиляция дает вам все необходимые подсказки)

Спасибо за любые идеи

Ответы [ 12 ]

0 голосов
/ 25 августа 2010

Лично я пытаюсь установить переменные, даже если они с пустой строкой, массивом, логическим значением и т. Д. Затем используйте такую ​​функцию, как isset(), прежде чем их использовать. Например:

$page_found = false;

if ($page_found==false) {
    // do page not found stuff here
}

if (isset($_POST['field'])) {
    $value = $_POST['field'];
    $sql = "UPDATE table SET field = '$value'";
}

И так далее. И прежде чем какая-нибудь умница скажет это: я знаю, что этот запрос небезопасен. Это был просто пример использования isset().

0 голосов
/ 25 августа 2010

Я полагаю, что различные инструменты покрытия кода, доступные для PHP, подчеркнут это.

...