Ciao sono un nuovo to Zend tutti insieme e mi è stato chiesto di sviluppare con Z2. Sto cercando di aggiungere funzionalità riutilizzabili tramite i plugin del controller, ma non sto avendo successo con i test unitari. Funziona bene all'interno dell'applicazione normale.Plugin del controller Zend Framework 2 non disponibili nei test di unità
// Application\Controller\Plugin\HelloWorld.php
namespace Application\Controller\Plugin;
use Zend\Mvc\Controller\Plugin\AbstractPlugin;
use Zend\Http\Client;
use Zend\Http\Request;
class HelloWorld extends AbstractPlugin
{
public function helloWorld()
{
return "HELLO WORLD";
}
}
// Application\Controller\IndexController.php
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
class IndexController extends AbstractActionController
{
public function indexAction()
{
echo $this->helloworld()->helloWorld();
}
}
//Application\config\module.config.php
...
'controller_plugins' => array(
'invokables' => array(
'helloworld' => 'Application\Controller\Plugin\HelloWorld',
),
),
...
l'errore che ottengo è:
Zend\ServiceManager\Exception\ServiceNotFoundException: Zend\ServiceManager\ServiceManager::get was unable to fetch or create an instance for helloworld
Grazie mille !!! Mi stava uccidendo! –
Questa è una risposta antica, ma se sei ancora in giro con Jurian, o altri trovano questa risposta ... non appena chiami $ this-> controller-> indexAction() penso che tu sia nei guai dato che è probabile che un'azione del controller chiamerà qualcosa dalla classe AbstractActionController da cui il controller eredita. Nessuna inizializzazione del framework, niente di utile. –
Non è necessario essere Greg, se indexAction non contiene chiamate a nessun metodo astratto, tutto va bene. –