Doctrine 1.2有一個名爲generateModelFromDb的方法,documented here,它爲數據庫中的所有表生成模型文件。Doctrine的Doctrine_Core :: generateModelsFromDb方法有哪些可用選項?
該函數接受一個可選的第三個參數,其中包含一個「選項」數組,用於生成模型時,其中的具體細節未記錄在案。我可以在這裏指定哪些選項?
Doctrine 1.2有一個名爲generateModelFromDb的方法,documented here,它爲數據庫中的所有表生成模型文件。Doctrine的Doctrine_Core :: generateModelsFromDb方法有哪些可用選項?
該函數接受一個可選的第三個參數,其中包含一個「選項」數組,用於生成模型時,其中的具體細節未記錄在案。我可以在這裏指定哪些選項?
完整列表與學說/導入/架構的默認值:
protected $_options = array('packagesPrefix' => 'Package',
'packagesPath' => '',
'packagesFolderName' => 'packages',
'suffix' => '.php',
'generateBaseClasses' => true,
'generateTableClasses' => false,
'generateAccessors' => false,
'baseClassPrefix' => 'Base',
'baseClassesDirectory' => 'generated',
'baseClassName' => 'Doctrine_Record');
我見過的最好的是這樣的:
http://www.doctrine-project.org/documentation/manual/1_2/ru/defining-models
......在這裏你可以嘗試蒐集到頁面的任何特定類型的數據「選項」。我還沒有遇到過比這更全面的任何事情。 API文檔似乎認爲很明顯可能的選項是什麼。
這看起來promicing: 從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');
使用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_'
)
);
當然很高興我張貼了這個......忘記了,我把這個信息,再次需要它! :) – Nick 2011-11-15 20:21:19