-4

从函数 abc();
1. 如何调用“A 类中的函数 a”?($this->a(); 返回错误)?
2. 如何访问公共变量$bbb?

(-我知道结构不好,但 'require_once' 部分是动态的等等......)

    class AAA extends CI_Controller 
    {
        public $bbb;

    function ccc ()
    {
    }

    function index ()
    {
        require_once '1.php';
    }
    }

// 在 1.php 中

function abc ()
{
 // how do i call method a of Class A?
 $this->ccc(); // returns error - Using $this when not in object context in ...
$this->bbb; //
}

abc(); // etc etc
4

2 回答 2

2

你正在尝试做一些require()它不是设计用来做的事情,也不起作用。

但是,包含文件中定义的所有函数和类都具有全局范围。

http://us.php.net/manual/en/function.include.php这也适用于require().

abc()在全局范围内定义,因此没有使用所需的对象上下文$this

于 2012-05-29T06:41:08.803 回答
1

正如琥珀提到require的,这里没有帮助。你不能只传递对函数的引用吗?

function abc (&$ref)
{
  $ref->ccc();
  $ref->bbb;
}

在课堂之外通常需要它,然后只需调用

function index ()
{
  abc($this);
}

不确定它会起作用,但我相信值得一试

于 2012-05-29T06:40:06.297 回答