如何绘制理论实体

jj-*_*-aa 3 php doctrine symfony

我想将文件夹结构调整为类似的格式:

app 
???? ...
bin 
???? ...    
src
????MyNamespace
    ????Application
    ?   ????Controller
    ?   ?   ????UserController.php      
    ?   ????Entity
    ?   ?   ????User
    ?   ?       ????User.php
    ?   ?       ????UserFactory.php
vendor 
???? ...        
web 
???? ...
Run Code Online (Sandbox Code Playgroud)

我的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    
Run Code Online (Sandbox Code Playgroud)

和我的User.php文件开头是:

namespace MyNamespace\Application\Entity\User;

use Doctrine\ORM\Mapping as ORM;

/**
 * User
 *
 * @ORM\Table()
 * @ORM\Entity
 */
class User
{
...
}
Run Code Online (Sandbox Code Playgroud)

然后我得到:

InvalidArgumentException:指定了不存在的目录“ C:/ www / myapp / app /../ src / MyNamespace / Application / Entity / User / User”作为主义映射源。

顺便说一句,我正在使用Symfony2框架。

jj-*_*-aa 5

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  
Run Code Online (Sandbox Code Playgroud)

而已。如果我没有将映射类型更改为注释,则即使我的文件夹项目结构中包含此文件,也会出现错误“找不到名为'MyNamespace.Application.Entity.User.User.php'的映射文件”。仍然我不明白,但是现在可以使用了。菜鸟天... :)