2010-04-09 28 views
6

Doctrine 1.2 có phương thức được gọi là generateModelFromDb, documented here, tạo tệp mô hình cho tất cả các bảng trong cơ sở dữ liệu.Các tùy chọn có sẵn cho Doctrine_Core :: phương pháp generateModelsFromDb của Doctrine là gì?

Chức năng này chấp nhận tham số thứ ba tùy chọn với một loạt "tùy chọn" để sử dụng khi tạo mô hình, chi tiết cụ thể trong số đó không được ghi chép. Các tùy chọn nào có sẵn để tôi chỉ định ở đây?

Trả lời

10

Danh sách đầy đủ với các giá trị mặc định từ Học thuyết/Import/Schema:

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

Điều tốt nhất tôi đã nhìn thấy là thế này:

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

... nơi bạn có thể thử thu thập ra ngoài trang bất kỳ "lựa chọn" kiểu dữ liệu cụ thể. Tôi đã không đi qua bất cứ điều gì toàn diện hơn thế. Tài liệu API dường như cho rằng rõ ràng các tùy chọn có thể là gì.

0

này trông promicing: từ 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'); 
3

Sử dụng Doctrine1.2.4 -

Có một ít bị mất trong danh sách đó - và chúng là những cái quan trọng!

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

tôi đã sử dụng điều này khi tạo ra các lớp học của tôi cho một dự án Zend Framework, ví dụ kịch bản:

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

chắc vui vì tôi đăng tải này ... Quên nơi tôi đưa thông tin này, cần đến nó một lần nữa! :) – Nick

Các vấn đề liên quan