Zend Framework 2:致命错误 - 在不在对象上下文中时使用$ this

Here's my code, in Module.php:

public function onBootstrap(MvcEvent $mvcEvent)
{
    $sm = $mvcEvent->getApplication()->getServiceManager();

    $myServiceEM = $sm->get('MyModule\Service\MyService')->getEventManager();
    $myServiceEM->attach(
        'myevent.post', ['MyModule\Controller\MyController', 'myFunction']
    );
}

And here's myFunction() in MyModule\Controller\MyController:

public function myFunction(Event $e)
{
    $myTestFunc = $this->getMyTestFunc();
}

But when I call getMyTestFunc() function this error appears:

Fatal error: Uncaught Error: Using $this when not in object context

['MyModule\Controller\MyController', 'myFunction'] is a callable for a static method; therefore you can't use $this there.
Consider

<?php
class Foo {
    protected $prop = 'value';
    public function memberMethod() {
        return $this->prop;
    }

    public static function staticMethod() {
        return 'static';
    }
}
echo Foo::staticMethod(), "
";
// Foo::memberMethod(); // results in Fatal error: Using $this when not in object context

bar( 'myevent.post', array('Foo', 'staticMethod') );
// bar( 'myevent.post', array('Foo', 'memberMethod') ); // // again: Fatal error: Using $this when not in object context

// to call memberFunction() you need an instance to call the method on
$foo = new Foo;
echo $foo->memberMethod(), "
";
bar( 'myevent.post', array($foo, 'memberMethod') );


function bar( $something, $callback ) {
    // invoking the callback immediately
    // ZendFramework will store the callback and invoke it when the specified event occurs
    echo $callback(), "
";
}

Now replace function bar() by Zend\EventManager::attach() and class Foo by MyModule\Controller\MyController and you're "at" the problem.