PHP请问在static的function中如何访问变量

发布网友

我来回答

4个回答

热心网友

静态方法只能访问其他的静态方法或属性,比如

class A {
    private static $url;
    public static function setDefaultUrl($url) {
        self::$url = $url;
    }
    public static function getDefaultUrl() {
        return self::$url;
    }
}
//或者在你的静态方法中获得实例,当然这样的话可能达不到你预期的效果,推荐你还是使用上面的方法。
class A {
    private $url = 'demo';
    public static function getUrl() {
        $obj = new self();
        return $obj->url;
    }
}

热心网友

用::方式调用一个非静态方法会导致一个E_STRICT级别的错误。

 class A{
    //需要设置成静态变量
    private static $url = "

        public function __construct() {
    }
    static public function get(){
        var_mp(self::$url);
    }
}

热心网友

要么把url直接写到get方法中,要么去掉设置成普通方法实例化调取 静态方法不经过构造函数

热心网友

搞错了,不知道,$_SERVER['PATCH_INFO']这个变量可以直接返回吧,static function中无法使用$this,去掉static试试

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com