这是不好的做法/可能会出现问题?

$_SESSION['stuff to keep']

相对于在索引调用str_replace()

有帮助吗?

解决方案

这是不好的做法,但空间不是因为。

// file foo.php
$_SESSION['stuff to keep'] = 42;

// file bar.php
if ($_SESSION['stufft o keep'] == 42) frobnicate();

下面,您的代码被静默行为不端,并且错误可能需要一段时间才能被发现。好的做法是使用PHP强制名称,如类常量:

$_SESSION[Stuff::TO_KEEP] = 42;

if($_SESSION[Stuff::TOO_KEEP] == 42) 
// error: no constant TOO_KEEP in class Stuff

然后,可限定恒定的任何恒定你觉得有趣或可读的,诸如"stuff to keep"(用空格)。当然,extract()和铸造object就不管用了,但你不应该这样做,反正有你的会话。

允许用户键入的文本到会话密钥是,当然,公然安全故障。

其他提示

您可以做到这一点,它会工作 - 即使我一般不会做时,我把我的阵列“手动”的钥匙,有时会发生,当我从一个文件拿到钥匙的(例如)的,我从来没有过任何这方面的问题。

也许这可能会导致某种问题,如果您使用的是 extract 功能,虽然。如果名称中有空格的创建变量(不知道这是否会)的它会是困难的(但并非不可能)的访问您的变量。

,不会引起问题,但数组键通常被认为是,像这样应当与相同的考虑来选择变量名

好像在我看来,增加不必要的空白......我不经常使用的空间。如果你这样做,不过,请先确认您引用数组的键。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top