मैंने अपने ज़ेंड फ्रेमवर्क 2 एप्लिकेशन पर मॉड्यूल ZfcUser जोड़ा है। लेकिन मुझे मौजूदा डेटाबेस तालिका, का उपयोग करना है जिसमें ZfcUser के लिए डिफ़ॉल्ट तालिका संरचना से थोड़ा अलग कॉलम नाम हैं।ZF2: ZfcUser मॉड्यूल के लिए कस्टम उपयोगकर्ता मैपर
ZfcUser wiki page में यह कहता है कि यदि मेरा मॉडल प्रदान किए गए इंटरफ़ेस के अनुरूप नहीं है तो कस्टम मैपर का उपयोग करना संभव है। और चूंकि मेरी डेटाबेस तालिका डिफ़ॉल्ट से अलग है, इसलिए मेरी उपयोगकर्ता इकाई वर्ग मानक ZfcUser \ Entity \ उपयोगकर्ता से भी अलग है। लेकिन मैं ZfcUser बता फ़ाइल config/autoload में स्थापित करने/zfcuser.global.php अधिभावी द्वारा आसानी से अपने ही वर्ग के साथ काम करने के लिए कर सकते हैं:
'user_entity_class' => 'MyApp\Entity\MyUser',
लेकिन मैं `ve एक आसान तरीका करने के लिए ZfcUser बताने के लिए नहीं मिला अब तक मेरे मैपर वर्ग का उपयोग करें।
मैं केवल ने पाया है कि नक्शाकार ZfcUser \ मॉड्यूल :: getServiceConfig() द्वारा बनाई गई है जो अंदर, मैं देख सकता नक्शाकार अपने कारखाने समारोह से वापस आ गया है:
// ...
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;
},
// ...
वहाँ एक रास्ता है ZfcUser को मेरे कस्टम उपयोगकर्ता मैपर वर्ग का उपयोग करने के लिए बनाओ?
पर मेरे कांटा को देखना चाहते हैं! मैं एक ही जानकारी की तलाश में था, और आपकी पोस्ट की मदद से मैंने अपने डीबी और एंटिटी की विस्तारित कार्यक्षमता के साथ उपयोग करने के लिए zfcUser की Entity और Mapper कक्षाओं को फिर से लोड करने में कामयाब रहा! – Brock