在PHP中从父类中的方法调用派生的静态方法

在PHP中从父类中的方法调用派生的静态方法,php,class,static,call,Php,Class,Static,Call,我上过以下课程: <?php Abstract Class A{ public function foo(){ self::bar(); } Abstract public static function bar($arg); } Class B extends A{ public static function bar(){ echo "Class

我上过以下课程:

<?php
    Abstract Class A{
        public function foo(){
            self::bar();
        }

       Abstract public static function bar($arg);
    }

    Class B extends A{ 
        public static function bar(){
            echo "Class B";      
        }
    }

    Class C extends A{
        public static function bar(){
            echo "Class C";
        }
    }
?>

我需要从foo()调用实例化类的方法bar():


提前感谢。

您用于此

基本上在您调用的抽象类中
static::method()
。这将使用发出调用的类的方法

Abstract Class A{
    public function foo(){
        // Late static binding
        static::bar();
    }

   abstract public static function bar();
}

-1-此示例代码确实违反了严格的PHP标准,因此会发出通知。请参阅:
Abstract Class A{
    public function foo(){
        // Late static binding
        static::bar();
    }

   abstract public static function bar();
}