Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从超类的构造函数调用子类方法_Php - Fatal编程技术网

Php 从超类的构造函数调用子类方法

Php 从超类的构造函数调用子类方法,php,Php,如何从超类构造函数调用子类方法 示例子类: <?php include('../classes/A.php'); class B extends A { public function __construct() { parent::__construct($this->view); } public function view() { //something } } $b = new B; ?>

如何从超类构造函数调用子类方法

示例子类:

<?php
include('../classes/A.php');

class B extends A {
     public function __construct()
    {
        parent::__construct($this->view);
    }
    public function view() {
        //something
    }
}

$b = new B;

?>

超类示例:

<?php
abstract class A
{
    private $callback;

    public function __construct($callback)
    {
        $this->callback = $callback;

        call_user_func($this->callback);
    }   
}
?>


如何使其工作?

传递一个数组,其中包含对象实例
$this
,以及要调用的方法

(参见调用类方法的示例#4)


我马上就去试试:)
class B extends A {
    public function __construct()
    {
        parent::__construct(array($this, 'view'));
    }
    public function view() {
        //something
    }
}