Ho aggiunto il modulo ZfcUser alla mia applicazione Zend Framework 2. Ma devo usare la tabella di database esistente, , che ha nomi di colonne leggermente differenti rispetto alla struttura di tabella predefinita per ZfcUser.ZF2: mappatore utente personalizzato per modulo ZfcUser
In ZfcUser wiki page si dice che è possibile utilizzare il mapper personalizzato se il mio modello non è conforme all'interfaccia fornita. E poiché la tabella del mio database è diversa da quella predefinita, la mia classe di entità utente è diversa da ZfcUser \ Entity \ User standard. Ma posso dire ZfcUser a lavorare con la mia classe facilmente sovrascrivendo l'impostazione nel file di config/autoload/zfcuser.global.php:
'user_entity_class' => 'MyApp\Entity\MyUser',
Ma Creare un account non trovato un modo semplice per dire ZfcUser a usa la mia classe di mapper finora.
ho trovato solo che il mapper è stato creato da ZfcUser \ Modulo :: getServiceConfig() all'interno del quale, posso vedere il mapper viene restituito alla sua funzione di fabbrica:
// ...
public function getServiceConfig()
{
return array(
// ...
'factories' => array(
// ...
'zfcuser_user_mapper' => function ($sm) {
$options = $sm->get('zfcuser_module_options');
$mapper = new Mapper\User();
$mapper->setDbAdapter($sm->get('zfcuser_zend_db_adapter'));
$entityClass = $options->getUserEntityClass();
$mapper->setEntityPrototype(new $entityClass);
$mapper->setHydrator(new Mapper\UserHydrator());
return $mapper;
},
// ...
C'è un modo per fare in modo che ZfcUser usi la mia classe utente personalizzata di mappatura?
Grazie mille! Stavo cercando le stesse informazioni e con l'aiuto del tuo post sono riuscito a ricaricare le classi Entity e Mapper di zfcUser da utilizzare con il mio DB e le funzionalità estese di Entity! – Brock