0

我正在为一些 phpBB 代码构建一个小包装器(这些方法将从项目的各个部分调用)。

问题是:由于http://php.net/manual/en/language.variables.scope.php,我在包装器中包含的所有内容都具有仅限该方法的范围。

这里是简化和相关的部分:

public function usePhpBBUsers($phpbb_root_path)
    {
    include($phpbb_root_path . 'common.php');
    include($phpbb_root_path . 'includes/functions_user.php');

    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();
    }

我可以使用 来解决变量范围global,但这些也包括导入函数定义。

想法?

4

2 回答 2

1

函数定义将始终是全局的。…………

于 2013-08-12T08:32:13.033 回答
0

我刚刚发现函数定义总是具有全局范围http://www.php.net/manual/en/functions.user-defined.php

所以问题归结为仅变量:如果我只是在包含global之前声明我的包含中的每个变量,那应该可以解决问题。有点不便,这消除了一些喜爱的抽象,但我认为这是唯一的方法。

于 2013-08-12T08:31:52.140 回答