【问题标题】:PHP Variables with the same name具有相同名称的 PHP 变量
【发布时间】:2011-04-14 03:27:48
【问题描述】:

我正在尝试将使用 PHP 制作的登录系统与 PHPBB 登录系统集成。 我的问题是我包含了 PHP 登录文档,其中包含一个名为 $user 的类,但我的登录系统也使用 $user。 例如,我的登录功能在一个名为 $user 的类中执行,而 phpbb 登录类是 $user->login

是否可以加载 phpbb 文档,并在单独的“环境”中登录我的主网站?

如果您需要更多信息,请告诉我

【问题讨论】:

  • “环境”是指范围。您应该为 Facebook 和登录系统使用类,然后您将拥有 $facebook->user、$login->user。
  • 您找到了避免使用全局变量的好理由 :)
  • 你能告诉我们导致问题的代码吗?

标签: php variables phpbb


【解决方案1】:

您可以在函数中运行您的代码。如果你没有明确地告诉函数,函数就不会被传递给全局变量;)

【讨论】:

  • 类不能以$ 开头!您正在处理一个类的 instance,并且可以在另一个作用域(函数作用域)中创建和使用该实例。
【解决方案2】:

可以不改变量吗?

<?php
    include 'the/phpbb/core.pohp';

    $phpbb_user = $user;

    include 'my/login.pohp';

    if($user->valid_uid($phpbb_user->uid))
    {
    }
?>

编辑:

你能添加第二个变量

打开common.php,找到以下内容:

$user  = new user();

添加之后

$backup_user  = $user;

【讨论】:

  • 您可以创建一个静态类来设置/获取对象,静态类将具有全局访问范围,但其中存储的对象将绑定到类范围。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-16
  • 1970-01-01
  • 2021-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多