Jump to content

Archived

This topic is now archived and is closed to further replies.

LeoFelipe

Doctrine - Configure Entities in more than one directory

Recommended Posts

I'm starting in Doctrine 2.4 and I'm developing a system where I separate the core files and application files, as follows:

/root
  |-- /Src
        |-- /App
              |-- /Model
                    |-- ** (Application Entities) **
        |-- /Core
              |-- /Model
                    |-- ** (Core Entities) **

In the Doctrine documentation shows the following form to set 1 directory for Esntitys:

$config = Setup::createAnnotationMetadataConfiguration(array(__DIR__. "/src"), $isDevMode);

But when I have to configure more than one directory that will contain the Entitys of my application, how to proceed?

 

Thanks in advance!

Share this post


Link to post
Share on other sites

That is really hard, your mind may be blown.

 

$dirs = array(__DIR__ . "/src", __DIR__ . "/src2");
$config = Setup::createAnnotationMetadataConfiguration($dirs, $isDevMode);
To make it easier to consume:

 

$config = Setup::createAnnotationMetadataConfiguration(array(__DIR__ . "/src", __DIR__ . "/src2"), $isDevMode);
Now for the complete meltdown:

 

$config = Setup::createConfiguration();

$chain = new MetadataChain();

foreach (array('xml' => __DIR__ . "/src", 'yml' => __DIR__ . "/src2") as $driverName => $path) {
  switch ($driverName) {
    case 'xml': $driver = new SimplifiedXmlMetadataDriver($path);
    case 'yml': $driver = new SimplifiedYamlMetadataDriver($path);
  }
  $chain->addDriver($driver);
}

$config->setMetadataDriver($chain);
..
EDIT: do not copy paste, it won't work, you'll need to do your own research.

Share this post


Link to post
Share on other sites

That is really hard, your mind may be blown.

 

$dirs = array(__DIR__ . "/src", __DIR__ . "/src2");
$config = Setup::createAnnotationMetadataConfiguration($dirs, $isDevMode);
To make it easier to consume:

 

$config = Setup::createAnnotationMetadataConfiguration(array(__DIR__ . "/src", __DIR__ . "/src2"), $isDevMode);

 

º_º ... Is that so hard? kkkk

 

I should have known. I'm ashamed of myself! Upon arriving home I will test and give feedback.

 

Thank you very much.

Share this post


Link to post
Share on other sites

That is really hard, your mind may be blown.

 

$dirs = array(__DIR__ . "/src", __DIR__ . "/src2");
$config = Setup::createAnnotationMetadataConfiguration($dirs, $isDevMode);
To make it easier to consume:

 

$config = Setup::createAnnotationMetadataConfiguration(array(__DIR__ . "/src", __DIR__ . "/src2"), $isDevMode);
Now for the complete meltdown:

 

$config = Setup::createConfiguration();

$chain = new MetadataChain();

foreach (array('xml' => __DIR__ . "/src", 'yml' => __DIR__ . "/src2") as $driverName => $path) {
  switch ($driverName) {
    case 'xml': $driver = new SimplifiedXmlMetadataDriver($path);
    case 'yml': $driver = new SimplifiedYamlMetadataDriver($path);
  }
  $chain->addDriver($driver);
}

$config->setMetadataDriver($chain);
..
EDIT: do not copy paste, it won't work, you'll need to do your own research.

 

 

Hey man. Thanks again for your help. I tested the code and it worked.

Share this post


Link to post
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.