Каковы варианты, доступные для Doctrine_Core :: MetherateModelsFromdb Метод?

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

  •  25-09-2019
  •  | 
  •  

Вопрос

У доктрины 1.2 есть метод, называемый GenerateModelFROMDB, документировано здесь, что генерирует файлы модели для всех таблиц в базе данных.

Эта функция принимает дополнительный третий параметр с массивом «Опции» для использования при создании моделей, специфики которых не документируются. Какие варианты доступны для меня, чтобы указать здесь?

Это было полезно?

Решение

Полный список с значениями по умолчанию из доктрины / импорта / схемы:

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

Другие советы

Используя Utrine1.2.4 -

Есть несколько отсутствуют в этом списке - и они важны!

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

Я использовал это при создании моих классов для проекта Zend Framework, пример сценария:

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

Лучший, который я видел, это так:

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

... где вы можете попробовать GLEAN вне страницы любые конкретные данные «Опции». Я не сталкивался с чем все всеобъемлющим, чем это. Документация API, кажется, предполагает, что это очевидно, какие возможные варианты являются.

Это выглядит начиная: от здесь

 // 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');
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top