代码之家  ›  专栏  ›  技术社区  ›  Tobias Cohen

条令的条令核心:generatemodelsfromdb方法有哪些选择?

  •  6
  • Tobias Cohen  · 技术社区  · 16 年前

    原则1.2有一个叫做generatemodelfromdb的方法, documented here ,为数据库中的所有表生成模型文件。

    此函数接受一个可选的第三个参数,其中包含生成模型时要使用的“选项”数组,这些模型的细节没有文档记录。我可以在这里指定哪些选项?

    4 回复  |  直到 13 年前
        1
  •  10
  •   BenV Langley    15 年前

    具有来自doctrine/import/schema的默认值的完整列表:

    protected $_options = array('packagesPrefix'        =>  'Package',
                                'packagesPath'          =>  '',
                                'packagesFolderName'    =>  'packages',
                                'suffix'                =>  '.php',
                                'generateBaseClasses'   =>  true,
                                'generateTableClasses'  =>  false,
                                'generateAccessors'     =>  false,
                                'baseClassPrefix'       =>  'Base',
                                'baseClassesDirectory'  =>  'generated',
                                'baseClassName'         =>  'Doctrine_Record');
    
        2
  •  3
  •   Nick    14 年前

    使用doctrine1.2.4-

    名单上少了几个——而且他们很重要!

    'pearStyle'             => true,
    'classPrefix'           => '',
    'classPrefixFiles'      => false,
    

    我在为Zend框架项目生成类时使用了此选项,例如脚本:

    <?php
    
    /**
     * Doctrine CLI script
     */
    
    define('APPLICATION_ENV', 'development');
    
    define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
    
    set_include_path(implode(PATH_SEPARATOR, array(
        realpath(APPLICATION_PATH . '/../library'),
        realpath(APPLICATION_PATH . '/../library/Doctrine'),
        get_include_path(),
    )));
    
    require_once 'Zend/Application.php';
    
    // Create application, bootstrap, and run
    $application = new Zend_Application(
        APPLICATION_ENV,
        APPLICATION_PATH . '/config/default.ini'
    );
    
    $application->getBootstrap()->bootstrap('doctrine');
    
    Doctrine::generateModelsFromDb(
        APPLICATION_PATH . '/modules/default/models/DbTable', 
        array('db1'),
        array(
            'pearStyle'            => true,
            'generateTableClasses' => true,
            'baseClassesDirectory' => '',
            'classPrefix'=> 'Model_DbTable_',
            'classPrefixFiles' => false,
            'baseClassPrefix' => 'Generated_'
         )
    );
    
        3
  •  0
  •   Tom    16 年前

    我看到的最好的是:

    http://www.doctrine-project.org/documentation/manual/1_2/ru/defining-models

    …您可以尝试从页面上收集任何特定于数据类型的“选项”。我没有遇到比这更全面的东西。api文档似乎假定很明显可能的选项是什么。

        4
  •  0
  •   Toon Krijthe    13 年前

    这看起来很有说服力: 从 here

     // Generate your models from an existing database
     Doctrine::generateModelsFromDb('/path/to/generate/models', array('connection_name'),   $options);
    
     // Array of options and the default values
     $options = array('packagesPrefix'        =>  'Package',
                      'packagesPath'          =>  '',
                      'packagesFolderName'    =>  'packages',
                      'suffix'                =>  '.php',
                      'generateBaseClasses'   =>  true,
                      'baseClassesPrefix'     =>  'Base',
                      'baseClassesDirectory'  =>  'generated',
                      'baseClassName'         =>  'Doctrine_Record');
    
    推荐文章