हालांकि ओपी का उत्तर सही है, यह पूरा नहीं हुआ है। मैंने जो किया और नीचे क्यों।
अपनी उपयोगकर्ता इकाई बनाएं। सार तत्व ईंटिटी का उपयोग मेरी सभी संस्थाओं के लिए किया जाता है, जिसमें केवल आईडी प्रॉपर्टी, गेटर्स/सेटर और एंटीटी डिबगिंग के लिए कुछ वैश्विक कार्यक्षमता होती है।
'zfcuser' => [
//Some other config
'userEntityClass' => User::class,
'EnableDefaultEntities' => false,
],
module.config.php
012,351:
User.php
use Doctrine\ORM\Mapping as ORM;
use Keet\Mvc\Entity\AbstractEntity;
use ZfcUser\Entity\UserInterface;
/**
* Entity Class representing a post of our User module.
*
* @ORM\Entity
* @ORM\Table(name="users")
* @ORM\Entity(repositoryClass="Keet\User\Repository\UserRepository")
* @ORM\HasLifecycleCallbacks
*/
class User extends AbstractEntity implements UserInterface
{
/**
* @var string
* @ORM\Column(name="username", type="string", length=255, unique=true, nullable=false)
*/
protected $username;
/**
* @var string
* @ORM\Column(name="email", type="string", length=255, unique=true, nullable=false)
*/
protected $email;
/**
* @var string
* @ORM\Column(name="display_name", type="string", length=255, nullable=false)
*/
protected $displayName;
/**
* @var string
* @ORM\Column(name="`password`", type="string", length=255, nullable=false)
*/
protected $password;
/**
* @var int
* @ORM\Column(name="state", type="integer", length=3, nullable=false)
*/
protected $state = 1;
// Getters/Setters
}
zfcuser.config.php
OP's answer रूप में एक ही config शामिल
महत्वपूर्ण: zfcuser की डिफ़ॉल्ट सिद्धांत इकाई कॉन्फ़िगरेशन को ओवरराइट करें!
'doctrine' => [
'orm_autoload_annotations' => true,
'driver' => [
__NAMESPACE__ . '_driver' => [
'class' => 'Doctrine\\ORM\\Mapping\\Driver\\AnnotationDriver',
'cache' => 'array',
'paths' => [
__DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'src'
. DIRECTORY_SEPARATOR . 'Entity',
]
],
'orm_default' => [
'drivers' => [
__NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver',
'ZfcUser\Entity' => __NAMESPACE__ . '_driver'
],
],
'zfcuser_entity' => [ // Section overwrites the default config for location of Annotation. Original found
// in vendor ZfcUserDoctrineModule /config/xml/zfcuser/ZfcUser.Entity.User.dcm.xml
'class' => 'Doctrine\\ORM\\Mapping\\Driver\\AnnotationDriver',
'paths' =>
__DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'src'
. DIRECTORY_SEPARATOR . 'Entity',
],
],
],
में आप ऊपर सामान्य रूप से सिर्फ 'driver'
और 'orm_default'
कॉन्फ़िगरेशन होगा। ZfcUser मॉड्यूल में 'zfcuser_entity'
कॉन्फ़िगरेशन है, लेकिन इसे अपने स्वयं के मॉड्यूल के भीतर ड्राइवर को इंगित करता है। किसी भिन्न ड्राइवर के फ़्लोटिंग संदर्भ के लिए, इसे ओवरराइट करें और इसे अपने स्वयं के परिभाषित ड्राइवर की ओर इंगित करें, जिसे __NAMESPACE__ . '_driver'
द्वारा परिभाषित किया गया है। इसके अलावा, मेरे उदाहरण में मैं एनोटेशन पढ़ने के लिए AnnotationDriver
का उपयोग करता हूं, जबकि ZfcUser मॉड्यूल XmlDriver
का उपयोग करता है।नीचे
ZfcUser मॉड्यूल config यह मूल config, ऊपर के उदाहरण
'zfcuser_entity' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\XmlDriver',
'paths' => __DIR__ . '/xml/zfcuser'
),
इस config आप पूरी तरह से अपनी खुद की इकाई का उपयोग करने की अनुमति देता है में ओवरराइट है, लेकिन अभी भी ZfcUser मॉड्यूल का उपयोग करें।
मेरे मामले में मैं अपने स्वयं के लिखित सीआरयूडी कार्यों के साथ अपने AbstractActionController
का उपयोग कर सकता हूं, जो कि AbstractEntity
के बच्चे की अपेक्षा करता है। यह बहुत सारे लेखन/सोच को बचाता है;)
हाय timdev, यही वह है जो मैं वर्तमान में कोशिश कर रहा हूं। मैं /config/autoload/ZfcUserDoctrineORM.global.php 'वापसी सरणी में एक ग्लोब कॉन्फ़िग फ़ाइल है ( 'zfcuser' => सरणी ( 'UserEntityClass' => '\ WriplCom \ इकाई \ उपयोगकर्ता'), , ); 'मुझे लगता है कि मेरी समस्या या तो मेरी कॉन्फ़िगरेशन फ़ाइल है, या मैं इस योजना को उत्पन्न करने के लिए सिद्धांत क्ली उपकरण प्राप्त करने की कोशिश कर रहा हूं, या दोनों। – briangallagher