难以提及班级功能

时间:2013-11-12 16:57:53

标签: php class object

我需要调用一个函数someFunction()当它在以下类结构中时如何引用它?

abstract class A
{
    protected $session;
    protected $model;

    public function __construct()
    {
        $session = new classSession;
        $model = new classModel;
    }
}

class classModel
{
    $this->session->someFunction();
}

我已尝试使用$this->session->someFunction(),但它不起作用!

1 个答案:

答案 0 :(得分:1)

首先,您需要将它放在函数的上下文中 - 代码不能在类体内独立存在。其次,对于classModel访问$session的任何内容,classModel必须扩展类A。你最终得到这样的东西:

class classModel extends A
{
    public function foo()
    {
        $this->session->someFunction();
    }
}

因此要执行$this->session->someFunction();,您需要执行此操作:

$model = new classModel();
$model->foo();