php – 如何映射doctrine实体

我想调整我的文件夹结构类似的东西:

app 
└─── ...
bin 
└─── ...    
src
└───MyNamespace
    ├───Application
    │   ├───Controller
    │   │   └───UserController.PHP      
    │   ├───Entity
    │   │   └───User
    │   │       ├───User.PHP
    │   │       └───UserFactory.PHP
vendor 
└─── ...        
web 
└─── ...

我在orm部分中的config.yml文件如下所示:

orm:
    auto_generate_proxy_classes: "%kernel.debug%"
    auto_mapping: false
    mappings:
        user:
          type:      PHP
          dir:       %kernel.root_dir%/../src/MyNamespace/Application/Entity/User/User
          prefix:    MyNamespace\Application\Entity\User\User
          alias:     User
          is_bundle: false    

我的User.PHP文件以:

namespace MyNamespace\Application\Entity\User;

use Doctrine\ORM\Mapping as ORM;

/**
 * User
 *
 * @ORM\Table()
 * @ORM\Entity
 */
class User
{
...
}

然后我得到:

invalidargumentexception:指定的非现有目录“C:/ www / myapp / app /../ src / MyNamespace / Application / Entity / User / User”作为Doctrine映射源.

顺便说一下,我正在使用Symfony2框架.

解决方法:

Grimv01k给了我提示,但最终的工作解决方案是在config.yml文件中:

mappings:
    user:
        type: annotation
        dir: %kernel.root_dir%/../src/MyNamespace/Application/Model/User
        alias: 'User'
        prefix: MyNamespace\Application\Model\User
        is_bundle: false  

而已.如果我没有将映射类型更改为注释,我的错误是“找不到名为’MyNamespace.Application.Entity.User.User.PHP’的映射文件”,即使在我的文件夹项目结构中有此文件.我仍然不理解它,但它现在有效. Noob天……

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...