-1

在 codeigniter 中,我有一个名为 integration 的库,其中在顶部声明中我有一个公共静态变量,它保存一个数组,如下所示:

public static $socialLogin = array(
    'twitter',
    'facebook',
    'google',
    'yahoo'
);

我试图在控制器中访问它,然后我在控制器构造函数中调用库,$this->load->library('integration');然后我尝试在以下代码片段中访问它:

        foreach ($this->integration->socialLogin as $provider):
            if (!empty($_SESSION['jigowatt'][$provider])) {
                $this->_social_login($provider);
                break;
            }
        endforeach;

并收到 aUndefined property: Integration::$socialLogin以及Invalid argument supplied for foreach()。如何从控制器中的库中访问公共静态变量?

4

1 回答 1

1

静态属性必须使用Scope Resolution Operator访问,也就是双冒号。为此,您将直接使用类名,而不是 CI 对象的实例。

$providers = Integration::$socialLogin;
foreach ($providers as $provider) {
    ... 
}
于 2013-09-07T21:43:44.597 回答