在PHP中的类中加载一个类?

时间:2014-05-06 03:45:47

标签: php

我有两个对象:

class a{
 //some functions
}

class b{
   function __construct(){
       include('a.php');
   }
}

这是否允许在PHP中使用?如果没有,有没有优化的方法来做到这一点? 谢谢!

3 个答案:

答案 0 :(得分:3)

我不确定我是否得到了你想做的事,但是这样试试:

class a {
    public function sayA() {
        echo "A";
    }
}

class b extends a {
   public function __construct() {

   }
}

$test = new b();
$test -> sayA();
// > A

另请参阅:http://www.php.net/manual/en/keyword.extends.php

答案 1 :(得分:1)

您的课程应该在课程开头加载,通常使用内置的__autoload()。如果$ _SESSION包含类,则需要在session_start()之前加载它们。有了这个,答案是肯定的,一个类可以包含另一个类,但不,不是你定义的方式。请考虑以下事项:

class a{
    //some functions
}

class b{
    public a;
    public anotherA;

    public function __construct(){
        $this->a = new a();
    }

    public function setAnotherA($anotherA){
        $this->anotherA = $a;
    }
}

您可以将类传递给函数,或者在另一个类的函数中实例化。

答案 2 :(得分:0)

如果你的问题是关于将一​​个班级嵌套在另一个班级,那么不 - 你不能。但是,就包含文件而言,可以包含一个带有来自另一个类的类声明的文件,因为一些测试会告诉你...