Лучшая практика для проверки неопределенных php переменных? - PullRequest
1 голос
/ 03 марта 2020

На странице меню у меня есть

class='$ActiveAbout'

На отдельной странице я определил

$ActiveAbout = 'active'

У меня также есть $ActiveSite, $ActiveHome, $ActiveAdd, et c, поэтому одновременно используется только один из них. Это приведет к появлению сообщения Notice: Undefined variable: ActiveSite.

До сих пор я вижу два решения

$ActiveSite = $ActiveSite ?? '';

if(!isset($ActiveSite)) {$ActiveSite = '';}

Это мой лучший выбор? Это лучший способ узнать, не установлен ли он?

В настоящее время используется PHP 5.6, но собирается PHP 7.

Дополнительная информация:

Это было намного проще иметь:

<li class='$AboutHome'><a href='home.php'>
<li class='$AboutAbout'><a href='about.php'>
<li class='$AboutContact'><a href='contact.php'>

Затем в домашних условиях. php, у меня было бы: $ AboutHome = 'active', затем на странице меню она заполнила бы эту переменную, а другая 2 просто пусты, потому что они не установлены, поэтому они не получают «активный» стиль.

1 Ответ

1 голос
/ 03 марта 2020

Используйте одну переменную $active, которую вы протестируете позже.

$active = 'about';
...
<div id='about' <?php if ($active == 'about') echo "class='active'"; ?>>

Или, если вы хотите иметь возможность делать несколько классов, и просто active необязательно:

<div id='about' class='<?php if ($active == 'about') echo "active"; ?>'>
...