V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lianyue
V2EX  ›  PHP

php 的坑 。。。 嗯 静态方法关键字。。。的坑 有谁遇到过

  •  
  •   lianyue · 2016-03-07 12:01:38 +08:00 · 3804 次点击
    这是一个创建于 3184 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问下 怎么形成的。。。。。 嗯 都不会调用 callStatic

    class x{
        public static function __callstatic($name, $args) {
            echo 'callstatic';
        }
        public function __call($name, $args){
            echo 'call';
        }
    }
    class xx extends x {
        public function test () {
            self::xx();
            static::xx();
            parent::xx();
         }
    }
    $xx = new xx;
    $xx ->test();
    

    被坑的满地找牙 好像 在方法内调用 静态方法 __call 优先级都会更高

    14 条回复    2016-04-03 23:34:02 +08:00
    vibbow
        1
    vibbow  
       2016-03-07 12:08:48 +08:00 via Android
    在对象中调用一个不可访问方法时,__call() 会被调用。

    用静态方式中调用一个不可访问方法时,__callStatic() 会被调用。
    vibbow
        2
    vibbow  
       2016-03-07 12:14:16 +08:00 via Android
    abelyao
        3
    abelyao  
       2016-03-07 12:17:32 +08:00 via iPhone
    手册啊手册… 要仔细看啊…
    vibbow
        4
    vibbow  
       2016-03-07 12:19:22 +08:00 via Android
    手册写的其实是很清楚的,目测是 LZ 把用法想当然了……
    yangqi
        5
    yangqi  
       2016-03-07 12:45:26 +08:00
    RTFM
    hitsmaxft
        6
    hitsmaxft  
       2016-03-07 13:07:09 +08:00 via iPhone
    理解下实例方法和静态方法调用
    wuhang89
        7
    wuhang89  
       2016-03-07 13:35:30 +08:00
    额,这个真不是坑。
    stdrickforce
        8
    stdrickforce  
       2016-03-07 13:42:32 +08:00   ❤️ 1
    智商的坑吧...
    zi
        9
    zi  
       2016-03-07 14:08:26 +08:00
    class xx 加
    public static function test2 (){
    self::xx();
    static::xx();
    parent::xx();
    }

    运行 xx::test2();
    phithon
        10
    phithon  
       2016-03-07 14:37:20 +08:00
    08 年就有人问过这个问题……
    https://bugs.php.net/bug.php?id=45159
    要好好看手册,好好看搜索引擎。
    lianz
        11
    lianz  
       2016-03-07 22:04:29 +08:00
    READ THE FUCKING MANUAL
    miaotaizi
        12
    miaotaizi  
       2016-03-08 08:58:54 +08:00   ❤️ 1
    PHP 最好的语言, 那么手册也应该是最好的!
    jhdxr
        13
    jhdxr  
       2016-03-08 14:32:47 +08:00
    @miaotaizi 坦白说 PHP 缺点很多。但手册真的算非常非常不错的了。。。
    mingyun
        14
    mingyun  
       2016-04-03 23:34:02 +08:00
    @miaotaizi 哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2737 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:23 · PVG 19:23 · LAX 03:23 · JFK 06:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.