0

Bootstrap ファイルに関数を作成し、それをarray_map関数で呼び出したい。しかし、それは私にこのエラーを示しています:

Warning: array_map() expects parameter 1 to be a valid callback, function 'rootCreator' not found or invalid function name in ...

これは、 array_map を呼び出す私のコードです:

$controls = array('products','productsubcat','newssubcat');
array_map('rootCreator', $controls);

これは私の関数コードです:

public function rootCreator($cotroller)
{
    $frontController = Zend_Controller_Front::getInstance();
    $defaults = array('module'=>'default' ,'controller'=> $cotroller , 'action'=>'info' );
    $productRoute = new Zend_Controller_Router_Route($cotroller . '/:id/:title', $defaults);
    $router = $frontController->getRouter();
    $router->addRoute($cotroller, $productRoute);
}
4

1 に答える 1

5

関数がオブジェクトのメソッドである場合は、オブジェクトも渡す必要があります。

試す

array_map(array($this, 'rootCreator'), $controls);

同じオブジェクト上にない場合は、インスタンスを渡す必要があります。静的メソッドの場合、クラス名を渡すことができます。

于 2011-05-02T16:42:25.947 に答える