Вызов функции-члена hello () для null zendframework 3

0
задан barbsan 21 January 2019 в 12:45
поделиться

1 ответ

Предполагается, что вызов в PayrollspendController::addAction() является проблемой.

$compData = $this->payrollspendManager->hello($postData);

Это потому, что переменная $this->payrollspendManager не была определена.

Вы можете видеть в PayrollspendControllerFactory::__invoke, что вы запросили услугу из контейнера внедрения зависимостей; но не вводите его в конструктор PayrollspendController.

 // PayrollspendControllerFactory::__invoke()
 $entityManager = $container->get('doctrine.entitymanager.orm_default');
 $payrollspendManager = $container->get(PayrollspendManager::class);

 return new PayrollspendController($entityManager);

Вы должны обновить фабрику:

 return new PayrollspendController($entityManager, $payrollspendManager);

А также конструктор контроллера, чтобы разрешить новый аргумент (пока вы там, вы также можете ввести подсказку на ожидаемый интерфейс) [1112 ]

use \Doctrine\ORM\EntityManager;
use \Dashboard\Service\PayrollspendManager;

class PayrollspendController  extends AbstractActionController
{
   // ...
   private $entityManager;

   private $payrollspendManager;

   public function __construct(
       EntityManager $entityManager, 
       PayrollspendManager $payrollspendManager
   ){
       $this->entityManager = $entityManager;
       $this->payrollspendManager = $payrollspendManager;
   }
   // ...
}
0
ответ дан AlexP 21 January 2019 в 12:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: