从类中的库访问公共静态变量(codeigniter控制器)

时间:2013-09-07 21:36:32

标签: php class variables static

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

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;

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

1 个答案:

答案 0 :(得分:1)

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

$providers = Integration::$socialLogin;
foreach ($providers as $provider) {
    ... 
}