2016-03-01 83 views
-1

我有一个类。在这个课堂内,我有一个私人静态成员。我也有一个受保护的类函数以及一个公共静态类函数。PHP:从静态类功能设置静态成员

本质上,我试图设置静态成员。流程就是这样。

在受保护的类函数内部,有一个对其他类函数的调用: 前。

class MyClass extends someOtherClass{ 

    private static $myVar;  

    protected function login(){ 
     MyClass::createDBInstance(); 

    } 

    public static function createDBInstance(){ 
     self::$myVar = 'someValue'; 
    } 
} 

我遇到的问题是,一旦它使进入createDBInstance,并试图设置自:: myVar的,它杀死。我是否忽略了如此基本的东西?

+1

当“杀死”时,你会得到什么错误(例如Apache日志)? –

+1

此代码绝对有效。你确定你没有试图从范围之外访问login()吗? – WhoIsJohnDoe

+0

我同意:http://codepad.org/TYevTaE4 –

回答

0

尝试

private static $myVar; 

self::$myVar = 'someValue'; 

注意$字符。

+0

抱歉错别字...他们都有$ – Srmuhs

+0

好吧。您是否可以在页面或日志文件中看到错误消息?这可能会有所帮助。也可以显示你调用'createDBInstance'的代码。 – OscarJ

+0

PHP致命错误:访问未声明的静态属性:MyClass :: $ myVar – Srmuhs