在我的代码中,我使用php变量来显示错误,例如
<span class="error"><?php echo $emailError; ?></span>
我只在填充错误时定义变量,所以现在XAMPP显示此错误
Notice: Undefined variable: emailError
它只是一个通知,所以在部署代码时我会禁用通知,或者我可以在之前定义所有内容以使其消失。
$emailError = "";
$usernameError = "";
$firstnameError = "";
$lastnameError = "";
$languageError = "";
$passwordError = "";
$username = "";
$firstname = "";
$lastname = "";
$email = "";
但我觉得在我的代码中看到类似的东西很奇怪,所以我的问题是。仅在需要时分配变量,但总是尝试显示它们是不好的做法吗?
答案 0 :(得分:5)
是的,这是一种不好的做法。如您所示,将其初始化为空字符串是最佳解决方案。或者,你可以像这样使用null coalescing operator:
<?php echo $emailError ?? ''; ?>
虽然每次你不确定它的定义时你都需要这样做,所以最好像你一样初始化它。
正如@Jeff所指出的那样,如果没有错误,你可能根本不想拥有跨度,在这种情况下你应该做这样的事情:
<?php if ( ! empty($emailError) ) { ?>
<span class="error"><?php echo $emailError; ?></span>
<?php } ?>
答案 1 :(得分:1)
这被认为是不好的做法,因为它增加了错误的机会。但是,我一直使用未声明的变量,因为它使代码更短,如果你习惯了它,就没有问题。
当然,您的php设置需要设置为警告您(不)关于未声明的变量。您可以使用error_reporting(...)在php本身(在旅途中)执行此操作。
最后,这取决于你。如果您是初学者,我建议您初始化所有变量并享受E_STRICT警告的祝福,以便更轻松地调试代码。因为你不会是第一个寻找三个小时的人$place = $p1ace / 2
;不起作用。