Doktrini adlı Doctrine_Core :: generateModelsFromDb yöntem için mevcut seçenekler nelerdir?

3 Cevap php

Doktrin 1.2 generateModelFromDb denilen bir yöntem var, documented here, bir veritabanındaki tüm tabloları için model dosyaları oluşturur.

Bu fonksiyon modelleri oluşturulurken kullanılacak "seçenekleri", belgelenmemiş hangi özelliklerini bir dizi ile isteğe bağlı üçüncü bir parametre kabul eder. Bana burada belirtmek için ne gibi seçenekler vardır?

3 Cevap

Doktrin / İthalat / şemadan varsayılan değerler ile tam listesi:

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

Doctrine1.2.4 kullanma -

Orada bu listeden eksik birkaç - ve bunlar önemli olanlarıdır!

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

Zend Framework proje, örnek komut benim sınıfları oluştururken bunu kullandım:

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

Gördüğüm en iyi şudur:

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

... Eğer sayfadan toplamak herhangi bir veri türüne özgü "seçenekler" deneyebilirsiniz. Ben bundan daha kapsamlı bir şey rastlamak değil. API belgeleri bu mümkün seçenekleri nelerdir açık olduğunu varsaymak gibi görünüyor.