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框架。
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'的映射文件”。仍然我不明白,但是现在可以使用了。菜鸟天... :)