array_map не может найти функцию в Bootstrap

#zend-framework #function #array-map

#zend-framework #функция #array-map

Вопрос:

Я создал функцию в файле начальной загрузки и хочу вызвать ее с помощью функции 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);
}
  

Ответ №1:

Если ваша функция является методом объекта, вам также необходимо передать объект.

Попробуйте

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

Если это не тот же объект, вам нужно передать ему экземпляр. Для статических методов вы можете передать имя класса.