在自定义 PHP 变量上使用 $_ 前缀是否安全


Is it safe to use $_ prefix on custom PHP variables

我知道可以使用 $_ 前缀设置自定义 PHP 变量,但我不确定这样做是否安全?我不会设置很多,也不会覆盖预设变量,如 $_SERVER 或 $_COOKIE。我应该完全避免这样做吗?

初始化以$_开头的变量是完全安全的,只要你不覆盖任何超全局变量(你需要的)。

但是,变量上的$_前缀表示它们是超全局变量或具有某种其他类型的魔术行为,因此在"正常"变量上这样做是不标准的。

此表示法通常在类内部用于指示私有或受保护的成员(属性或方法)。在这种情况下,它是完全安全的。

请注意,PHP 手册在使用双下划线作为前缀方法时有警告,因为这种表示法是为"魔术"方法保留的。此警告不适用于单个下划线前缀。