Каковы варианты, доступные для Doctrine_Core :: MetherateModelsFromdb Метод?
-
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');