Destio

warnings and errors

Критичные ошибки в PHP, fatal errors

PHP Fatal error: Cannot redeclare class Это значит данный класс уже объявлялся ранее. Самое простое это включать файлы с классами как include_once()/require_once(). Если не помогает, то можно проверять наличие класса: if (class_exists(“Database”) == false) { class Database { … } }

Читать дальше

,

PHP Parse error

Тут буду собирать php parsing errors. syntax error, unexpected '' PHP Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) Это значит PHP не нравится интерполировать элементы массива с ключами в одиночных кавычках. $foo = “upupu $issue[‘article’]” // плохо $foo = “upupu {$issue[‘article’]}” // хорошо

Читать дальше

,

Строгий режим в PHP, PHP Notice

error_reporting(-1); позволяет PHP писать в лог о всех мелочах, наподобие аналогичным use warnings; или “use strict”;. Вот какие сообщения я уже получал: PHP Notice: Use of undefined constant Так ПХП требует кавычки вокруг ключей в ассоциативных массивах. Ключ это строка, а строки должны быть в кавычках: $_GET[n]; // плохо $_GET[“n”]; // хорошо PHP Notice: Undefined […]

Читать дальше

,

Invalid argument supplied for foreach()

Когда пхп кормят данными сомнительной чистоты и они проходят через какой-нибудь foreach внутри, то логи пхп заполняются предупреждениями следующего вида: PHP Warning: Invalid argument supplied for foreach() in /script.php on line 146 Если нет возможности убедиться что во входящих данных будет действительно array, то для очистки лога и душевного спокойствия можно заворачивать foreach в условие […]

Читать дальше

,