php中的 static 疑惑?
小白
小白 2017-02-24 09:22:55
[PHP讨论组]
<?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;
    }


}


小白
小白

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

全部回复(4)
钟毅

这个是commhelper自己就有的静态类,不能实例化的。因为这个是在COMMHELPER中就已经定义了是静态函数中生成的对像。简单地说就是这个功能函数,返回test父类中定义的静态函数。就想当父类就带有的东西默认就有。想用就用。更方便使用。

数据分析师

php中的 static 疑惑?-PHP中文网问答-php中的 static 疑惑?-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 我在父类中哦
+----------------------------------------------------------------------
*/
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号