![](/img/trans.png)
[英]Is it a bad practice to store function names in variables and call the function using the variable?
[英]Is using unassigned variables bad practice
在我的代码中,我使用php变量显示错误,例如<span class="error"><?php echo $emailError; ?></span>
<span class="error"><?php echo $emailError; ?></span>
我仅在有错误要填充时定义变量,因此现在XAMPP显示此错误Notice: Undefined variable: emailError
这只是一个通知,因此在部署代码时我将禁用通知,或者我可以在定义所有内容之前将其删除。
$emailError = "";
$usernameError = "";
$firstnameError = "";
$lastnameError = "";
$languageError = "";
$passwordError = "";
$username = "";
$firstname = "";
$lastname = "";
$email = "";
但是我发现在代码中看到类似的东西很奇怪,所以我的问题是。 仅在需要时才分配变量,而总是尝试显示它们是不好的做法吗?
是的,这是一个坏习惯。 最好将其初始化为如所示的空字符串。 或者,您可以使用null合并运算符,如下所示:
<?php echo $emailError ?? ''; ?>
尽管每次不确定该定义时都需要执行此操作,所以最好像完成操作一样对其进行初始化。
正如@Jeff所指出的,如果没有错误,您可能根本不想要跨度,在这种情况下,您应该执行以下操作:
<?php if ( ! empty($emailError) ) { ?>
<span class="error"><?php echo $emailError; ?></span>
<?php } ?>
这被认为是不好的做法,因为它会增加出错的机会。 但是,我一直使用未声明的变量,因为它会使代码更短,而且如果您习惯了它,就没有问题。
当然,您的php设置需要设置为警告(而不是)未声明变量。 您可以使用error_reporting(...)在php本身中执行此操作(随时随地)。
最后,取决于您。 如果您是初学者,我建议您初始化所有变量并享受E_STRICT警告的祝福,以更轻松地调试代码。 因为您将不是第一个$place = $p1ace / 2
三个小时的人,为什么$place = $p1ace / 2
; 不起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.