0

我需要在 CI 控制器中使用一些功能。

例如:

class Main extends Controller
{
    function index()
    {
        function foo1(){}
        function foo2(){}
    }
}

但我得到一个错误。如何确定这些功能?

4

2 回答 2

1

只要 foo1 和 foo2 在同一个控制器中,您就可以这样做:

class Main extends Controller
{
    function index()
    {
        $this->foo1();
        $this->foo2();
    }

    public function foo1()
    {
    }

    public function foo2()
    {
    }
}
于 2012-11-13T07:33:28.810 回答
0

如果您在另一个函数中使用函数声明语法,则内部函数将在当前命名空间中结束(如果没有声明命名空间,则为全局命名空间)

考虑这个例子:

Class Foo {
    public function bar() {
        function foo(){
            print 'in foo';
        }
    }
}

$f = new Foo();
$f->bar(); // you have to call this before invoking the foo() function, prior this point its nonexistent
foo(); // will print 'in foo'
于 2012-11-13T07:35:17.357 回答