panadora / doctrine-generator-bundle
Symfony2 扩展包,用于生成模型或接口类
1.0.0
2014-09-05 07:20 UTC
This package is not auto-updated.
Last update: 2024-09-24 04:09:55 UTC
README
Symfony2 扩展包,用于生成模型或接口类
安装
- 将扩展包作为依赖添加到 composer.json
{ "require": { "pandora/doctrine-generator-bundle": "dev-master" } }
- 运行 "composer update" 命令
- 确保在 AppKernel.php 中启用 PandoraDoctrineGeneratorBundle。
public function registerBundles() { $bundles = array( // ... new Pandora\DoctrineGeneratorBundle\PandoraDoctrineGeneratorBundle(), ); }
可用命令
- 使用 doctrine:generate:model 或 generate:doctrine:model 生成单个模型类
- 使用 doctrine:generate:models 或 generate:doctrine:models 在扩展包中生成模型
用法
doctrine:generate:model
php app/console doctrine:generate:model --model=YourBundle:Blog/Post
上述命令会在以下模型命名空间中初始化一个新的模型 Acme\BlogBundle\Model\Blog\Post
您还可以可选地指定您想在新模型中生成的字段
php app/console doctrine:generate:model --model=YourBundle:Blog/Post --fields="title:string(255) body:text"
命令还可以通过 --with-repository 选项生成相应的实体仓库类
php app/console doctrine:generate:model --model=YourBundle:Blog/Post --with-repository
默认情况下,命令使用注解进行映射信息;通过 --format 修改它
php app/console doctrine:generate:model --model=YourBundle:Blog/Post --format=yml
要生成或更新相应的实体类,使用 --with-entity 选项
php app/console doctrine:generate:model --model=YourBundle:Blog/Post --with-entity
要生成相应的接口类,使用 --with-interface 选项
php app/console doctrine:generate:model --model=YourBundle:Blog/Post --with-interface
doctrine:generate:models
- 到扩展包
php app/console doctrine:generate:models YourBundle
- 到单个模型
php app/console doctrine:generate:models YourBundle:User
php app/console doctrine:generate:models Your/Bundle/Model/User
- 到命名空间
php app/console doctrine:generate:models YourBundle/Model
如果实体不在扩展包中,并且如果类不存在,命令无法猜测它们应该在哪里生成。在这种情况下,您必须提供 --path 选项
php app/console doctrine:generate:models Your/Bundle/Model --path=src/
默认情况下,每个模型的未修改版本都会备份并保存(例如 Product.php~)。要防止此任务创建备份文件,请传递 --no-backup 选项
php app/console doctrine:generate:models Your/Bundle/Model --no-backup
要生成或更新相应的实体类,使用 --with-entity 选项
php app/console doctrine:generate:models YourBundle --with-entity
要生成相应的接口类,使用 --with-interface 选项
php app/console doctrine:generate:models YourBundle --with-interface
重要:即使您在 XML 或 YAML 映射文件中指定了继承选项,生成器也无法为您正确生成基类和子类,因为它不知道哪个类应该扩展哪个。您必须手动调整模型代码以使继承生效!