Ho due controller nel mio modulo ed entrambi devono vedere se l'utente è connesso o meno. I controller di accesso autenticano l'utente utilizzando DbTable e scrive l'identità nella memoria.zend framework 2 AuthenticationService
Sto usando> Zend \ Authentication \ AuthenticationService; $ auth = new AuthenticationService();
all'interno della funzione di controllo, ma poi ho istanziare la sua istanza sulla pageAction multipla()
per questo ho scritto una funzione nel Module.php
come segue
public function getServiceConfig()
{
return array(
'factories' => array(
'Application\Config\DbAdapter' => function ($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
return $dbAdapter;
},
'Admin\Model\PagesTable' => function($sm){
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$pagesTable = new PagesTable(new TableGateway('pages',$dbAdapter));
return $pagesTable;
},
'Admin\Authentication\Service' => function($sm){
return new AuthenticationService();
}
),
);
}
come si può vedere sto restituendo il nuovo AuthenticationService() ogni volta che penso che sia cattivo. Non sono riuscito a trovare il modo di afferrare l'istanza già istanziata del servizio o devo scrivere una classe singleton per questo. Si prega di avvisare qualsiasi snipet di codice di esempio con una spiegazione più approfondita sarebbe molto apprezzato e apprezzato grazie.
O, naturalmente, se non si vuole avere un servizio specifico modulo, è possibile utilizzare solo $ serviceManager-> get ('Zend \ Authentication \ AuthenticationService') ; – ise
grazie mille che era esattamente quello che stavo cercando. –