如何纠正此功能中的缺陷

Som*_*one 1 php

如何纠正此功能中的缺陷

 class MyClass {
  private $_callingscript; 
             public   function __construct(){
    $this->_callingscript= basename($_SERVER['SCRIPT_NAME']);
        }
        public static function Setvalue($k,$v){
   if (!empty($k)) {
   $_SESSION[$this->_callingscript.'_'.$k]= $v;//This doesnot work 
   $_SESSION[$_SERVER['SCRIPT_NAME'].'_'.$k]=$v //This works 

  }
        }
 }

 MyClass::setValue('Somename',"Somevalue");
Run Code Online (Sandbox Code Playgroud)

当我打电话给它时,它给了我错误" $this在不在对象上下文时使用".如何更正callingscript变量.这是由于该变量的私有声明

Ign*_*ams 6

不,这是因为$this没有填充静态方法.删除static限定符.