Несколько полезных для отладки функций PHP


PHP имеет более нескольких тысяч функций для многих целей. Для написания программы на любом языке нам потребуется базовая языковая конструкция, синтаксис и большое количество функций, чтобы получить от программы желаемый результат. В этой статье я напишу о некоторых функциях PHP, которые очень полезны для создания чистой и эффективной программы без ошибок.

Обычно программисты используют функции print и echo для отправки вывода в браузер, поэтому они, конечно же, являются одной из необходимых функций PHP. Без их использования вы не сможете написать программу на PHP или, по крайней мере, не сможете показать свою работу миру.

Вы должны знать функции, описанные в этой статье, чтобы написать хороший и свободный от ошибок код.

error_reporting()

Функция error_reporting() устанавливает директиву error_reporting во время выполнения. PHP имеет много уровней ошибок, использование этой функции устанавливает этот уровень для продолжительности (времени выполнения) вашего скрипта. isset()

Эта функция определяет, установлена ли переменная или нет. Это очень полезно для предотвращения уведомлений, генерируемых установкой вашего error_reporting в E_ALL. Неопределенные или неинициализированные переменные могут быть основными причинами многих раздражающих ошибок в вашей программе, но помните, что isset() работает только с переменными, поскольку передача чего-либо еще приведет к ошибке синтаксического анализа. Чтобы проверить, установлены ли константы, используйте функцию defined().

Например, isset часто используют для того, существуют ли отправляемые данные по методу GET или POST:

if (isset($_GET['oauth_verifier']) 
print_r

Эта функция печатает удобочитаемую информацию о переменной. Он отображает информацию о переменной в удобном для чтения виде. Если дана строка, целое число или число с плавающей запятой, будет напечатано само значение. Если задан массив, значения будут представлены в формате, который показывает ключи и элементы. Аналогичные обозначения используются для объектов.

var_dump

Эта функция отображает структурированную информацию об одном или нескольких выражениях, включая его тип и значение. Массивы и объекты исследуются рекурсивно со значениями с отступом, чтобы показать структуру. В некотором смысле print_r и var_dump похожи.

ini_set и ini_get

Эти функции устанавливают и получают значение данной опции конфигурации. Возвращает старое значение в случае успеха, FALSE в случае неудачи. Параметр конфигурации сохранит это новое значение во время выполнения сценария и будет восстановлен по окончании скрипта. Не все доступные параметры можно изменить с помощью ini_set(). Полный список доступных переменных можно найти в руководстве по PHP.

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

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
set_time_limit

Эта функция устанавливает количество секунд, в течение которых скрипт может запускаться. Если это достигается, скрипт возвращает фатальную ошибку. Предел по умолчанию - 30 секунд или, если он существует, значение max_execution_time, определенное в php.ini. Если секунды установлены на ноль, ограничения по времени не накладываются. Это очень полезно, если вы работаете со сценарием, выполнение которого может занять некоторое время, например, при отправке большого количества электронных писем.

При вызове set_time_limit() перезапускает счетчик тайм-аута с нуля. Другими словами, если тайм-аут по умолчанию равен 30 секундам, а после 25 секунд выполнения скрипта выполняется вызов, такой как set_time_limit (20), скрипт будет работать в общей сложности 45 секунд до истечения тайм-аута.

set_time_limit() не действует, когда PHP работает в безопасном режиме. Нет никакого обходного пути, кроме отключения безопасного режима или изменения ограничения по времени в php.ini.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, php, теория программирования, функции




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Урок 6. Введение в строки PHP
Урок 42. Методы C#
Вопросы и ответы на собеседовании PHP программиста