php中在静态方法之后调用公共方法

php中在静态方法之后调用公共方法,php,class,methods,Php,Class,Methods,我有类示例,首先调用静态方法,然后返回调用其他公共方法: class foo{ public static $var; public static function first() { self::$var = 1; return self::class; } public function second() { return self::$var; } } 我需要在静态方法示例之后调用publi

我有类示例,首先调用静态方法,然后返回调用其他公共方法:

class foo{
 public static $var;
    public static function first()
    {
       self::$var = 1;
       return self::class;
    }  
    public function second()
    {
       return self::$var;
    }
}

我需要在静态方法示例之后调用public方法:

foo::first()->second();

不,您不能这样做,因为从静态方法只返回字符串类名称。要调用公共方法,需要静态方法返回对象的实例,如下所示

return new self();

不,您不能这样做,因为从静态方法只返回字符串类名称。要调用公共方法,需要静态方法返回对象的实例,如下所示

return new self();

您不能将
second
方法链接到
string
。所以它不会起作用。首先在
上返回实例
,然后在
第二个链上返回实例
。就像下面的答案一样,有些东西可能值得一读——这是否回答了你的问题?您不能将
second
方法链接到
string
。所以它不会起作用。首先在
上返回实例
,然后在
第二个链上返回实例
。就像下面的答案一样,有些东西可能值得一读——这是否回答了你的问题?