Verification: a143cc29221c9be0

Php check if variable defined

Php check if variable defined

Установите Xdebug для PHP

Выполните следующую команду из терминала, чтобы установить расширение Xdebug для установленной версии PHP 7+.

$ sudo apt install php-xdebug

Настройте расширение Xdebug

Выполните следующую команду, чтобы создать файл конфигурации с именем xdebug.ini. Вы должны правильно указать путь к папке с доступными модами в зависимости от установленной версии PHP. Согласно пути, указанному в команде, в текущей системе установлен PHP версии 7.4.

$ sudo nano /etc/php/7.4/mods-available/xdebug.ini

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

xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_host = 127.0.0.1
xdebug.remote_log = /tmp/xdebug_remote.log
xdebug.remote_mode = req
xdebug.remote_port = 9005 #this can be modified

Перезагрузите веб-сервер

Выполните следующую команду с правами root, чтобы перезапустить сервер Apache.

$ sudo service apache2 restart

Проверка установки Xdebug

Выполните следующую команду, чтобы проверить, правильно ли установлен Xdebug. Если расширение установлено правильно, следующая команда покажет информацию об установленной версии Xdebug с версией PHP.

Настроить Xdebug в VSCode

Если редактор кода Visual Studio открывается до установки расширения Xdebug, откройте его повторно. Откройте окно расширений , щелкнув меню «Вид» или нажав Ctrl + Shift + x. Введите «Отладка PHP» в поле поиска окна расширений. Вы получите следующую информацию, если расширение Xdebug правильно интегрировано с этим редактором.

Откройте файл конфигурации Xdebug, щелкнув «Добавить конфигурацию…» в меню « Выполнить», и установите необходимую конфигурацию в соответствии с файлом xdebug.ini.

Как установить Xdebug и использовать его в PHP на Ubuntu

Отладка PHP-скрипта с помощью Xdebug

Создайте файл PHP со следующим сценарием, чтобы показать способ использования отладчика Xdebug.

Выделите строку в скрипте и нажмите F9 или щелкните Toggle Breakpoint в меню Run, чтобы установить точку останова в скрипте; можно установить несколько точек останова. Нажмите кнопку «Выполнить» в левой части редактора, чтобы просмотреть подробные сведения об отладке. В следующих выходных данных две точки останова установлены в строке 5 и строке 13.

Как установить Xdebug и использовать его в PHP на Ubuntu

Теперь нажмите F5 или щелкните «Начать отладку» в меню «Выполнить», чтобы начать отладку с помощью Xdebug. Появится панель инструментов, как на следующем изображении для отладки, и скрипт остановит свое выполнение в первой точке останова в строке 5. В левом окне показано, какие переменные инициализируются и не инициализируются после выполнения скрипта в строке 5.

Как установить Xdebug и использовать его в PHP на Ubuntu

Первый значок на панели инструментов используется для продолжения сценария и перехода к следующей точке останова ( для этой цели можно использовать F5 ). Если нажать F5, после запуска отладки он перейдет к следующей точке останова в строке 13. В этой строке будут инициализированы некоторые переменные.

Как установить Xdebug и использовать его в PHP на Ubuntu

Второй значок используется для перехода по сценарию и перехода к строке согласно сценарию (для этого можно использовать F10).

Как установить Xdebug и использовать его в PHP на Ubuntu

Третий значок используется для перехода в строку точки останова (для этой цели можно использовать F11).

Как установить Xdebug и использовать его в PHP на Ubuntu

Четвертый значок используется для выхода из всех строк точки останова (для этой цели можно использовать Shift + F11). Пятый значок используется для перезапуска отладки (для этого можно использовать Ctrl + Shift + F5). Шестой значок используется для остановки отладки (для этого можно использовать Shift + F5).

The isset() function does not check if a variable is defined.

It seems you've specifically stated that you're not looking for isset() in the question. I don't know why there are so many answers stating that isset() is the way to go, or why the accepted answer states that as well.

It's important to realize in programming that null is something. I don't know why it was decided that isset() would return false if the value is null.

To check if a variable is undefined you will have to check if the variable is in the list of defined variables, using get_defined_vars(). There is no equivalent to JavaScript's undefined (which is what was shown in the question, no jQuery being used there).

In the following example it will work the same way as JavaScript's undefined check.

$isset = isset($variable);
var_dump($isset); // false

But in this example, it won't work like JavaScript's undefined check.

$variable = null;
$isset = isset($variable);
var_dump($isset); // false

$variable is being defined as null, but the isset() call still fails.