¿Cuáles son las opciones disponibles para el método Doctrine_Core :: generateModelsFromDb de Doctrina?

StackOverflow https://stackoverflow.com/questions/2605291

  •  25-09-2019
  •  | 
  •  

Pregunta

Doctrina 1.2 tiene un método llamado generateModelFromDb, documentado aquí , que genera el modelo archivos para todas las tablas en una base de datos.

Esta función acepta un tercer parámetro opcional con una serie de "opciones" para su uso cuando la generación de modelos, los detalles de la cual no están documentadas. ¿Qué opciones están disponibles para mí especificar aquí?

¿Fue útil?

Solución

La lista completa con los valores por defecto de la Doctrina / Importar / esquema:

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

Otros consejos

El uso de Doctrine1.2.4 -

Hay algunos que falta en esa lista - y ellos son los importantes

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

He utilizado este cuando se generan mis clases para un proyecto Zend Framework, script de ejemplo:

<?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_'
     )
);

El mejor que he visto es la siguiente:

http://www.doctrine-project.org / documentación / manual / 1_2 / ru / definen-modelos

... donde se puede probar espigar fuera de la página de datos de cualquier tipo específico de "opciones". No he encontrado nada más amplia que eso. La documentación de la API parece asumir que es obvio lo que las opciones son posibles.

Esto parece promicing: de aquí

 // 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');
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top