php中的 static 疑惑?
小白
小白 2017-02-24 09:22:55
0
4
974
<?php
namespace App\Sdks\Services;
use App\Sdks\Library\CommonHelper;
class test extends CommonHelper
{
    public function index()
    {   
        //不懂这里面的 static::getSharedConfig() 这个方法是调用的那个类?
        return  static::getSharedConfig()->logic->edu_page->search_page_size;
    }


}


小白
小白

好好学习,天天向上!!!

membalas semua(4)
钟毅

Ini ialah kelas statik yang dimiliki oleh commhelper sendiri dan tidak boleh dijadikan instantiated. Kerana ini adalah objek yang dijana dalam fungsi statik yang telah ditakrifkan dalam COMMHELPER. Ringkasnya, fungsi fungsi ini mengembalikan fungsi statik yang ditakrifkan dalam kelas induk ujian. Fikirkan sahaja bahawa perkara yang dimiliki oleh kelas induk akan berada di sana secara lalai. Gunakannya jika anda mahu. Lebih senang digunakan.

数据分析师

Keliru tentang statik dalam php? - Soal Jawab laman web PHP Cina - Bingung tentang statik dalam php?

阿神

 首先,你应该先了解static的用法,再去理解你不明白的这段代码的含义。先给你看你一个static使用的例子:

class zhang{
    protected static $name = 'zhangsan';
    public static function getName() {       
        echo static::$name;
    }
}
class li extends zhang {
    protected static $name = 'lisi';
}
Sedan::getName();

上面输出的是结果是:lisi;也就是数据当前类的属性。 

迷茫

如果本类没有的话,那就代表它的父类中的getSharedConfig()静态方法,这里也可以写成self::getSharedConfig(),父类就是extends 的那个类哈

class father {    static public function fatherF(){        echo "我在父类中哦";
    }
}class oneself extends father{    public function start(){    //    return self::fatherF();
        return static::fatherF();    //    return self::oneselfF();
    }    static public function oneselfF(){        echo "我在儿子类中哦";
    }
}echo PHP_VERSION; // 版本$c = new oneself;$c->start();/* 
+----------------------------------------------------------------------
| 5.6.29 我在父类中哦
+----------------------------------------------------------------------
*/
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan