panadora/doctrine-generator-bundle

Symfony2 扩展包,用于生成模型或接口类

安装: 106

依赖者: 0

建议者: 0

安全: 0

星星: 1

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

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 扩展包,用于生成模型或接口类

安装

  1. 将扩展包作为依赖添加到 composer.json
{
    "require": {
        "pandora/doctrine-generator-bundle": "dev-master"
    }
}
  1. 运行 "composer update" 命令
  2. 确保在 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 映射文件中指定了继承选项,生成器也无法为您正确生成基类和子类,因为它不知道哪个类应该扩展哪个。您必须手动调整模型代码以使继承生效!