class - php中的 static 疑惑?
巴扎黑
巴扎黑 2017-04-11 09:56:35
[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;
    }


}
巴扎黑
巴扎黑

全部回复(2)
迷茫

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

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 我在父类中哦
+----------------------------------------------------------------------
*/
黄舟

首先,你应该先了解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;也就是数据当前类的属性。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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