I have generated by doctrine files YAML by command:
我是通过命令生成的教义文件YAML:
php doctrine.php orm:convert-mapping --from-database yaml /usr/local/www/dev/vmilkov/jv-admin-2-0/library/yaml
It's generate many files:
它生成了许多文件:
Addresses.dcm.yml
AdminMenu.dcm.yml
BlogEntryCommentData.dcm.yml
BlogType.dcm.yml
CartoonEntryGroup.dcm.yml
ChronopayTest.dcm.yml
CityLocation.dcm.yml
...
SubwayStation.dcm.yml
Telecast.dcm.yml
TemplatesTemporary.dcm.yml
TourEntryPartData.dcm.yml
...
TvTeam.dcm.yml
User.dcm.yml
UserErrorReport.dcm.yml
Users.dcm.yml
My code:
我的代码:
// Показывать все ошибки
error_reporting(E_ALL);
ini_set("display_errors", 1);
set_include_path(
'.'
. PATH_SEPARATOR . __DIR__ . '/../library'
. PATH_SEPARATOR . '../application/models/'
. PATH_SEPARATOR . '../application/classes/'
. PATH_SEPARATOR . '../application/'
. PATH_SEPARATOR . get_include_path()
);
$dirInfo = pathinfo($_SERVER["DOCUMENT_ROOT"]);
define('ROOT_PATH', $dirInfo['dirname']);
define('LIBRARY_PATH', ROOT_PATH . DIRECTORY_SEPARATOR . 'library');
// Подключить Доктриновский загрузчик
require 'Doctrine/Common/ClassLoader.php';
/**
* Регистрация загрузчиков для разных namespace
*/
/**
* Основные классы
*/
// Основной раздел доктрины
$classLoader = new \Doctrine\Common\ClassLoader('Doctrine');
$classLoader->register();
// Раздел сущностей
$classLoader = new \Doctrine\Common\ClassLoader('Entities');
$classLoader -> register();
// load the proxy entities
$proxyClassLoader = new \Doctrine\Common\ClassLoader('Proxies', 'Models');
$proxyClassLoader->register();
$config = new Doctrine\ORM\Configuration(); // (2)
$config -> setAutoGenerateProxyClasses("development");
// Mapping Configuration (4)
$driverImpl = new \Doctrine\ORM\Mapping\Driver\YamlDriver(LIBRARY_PATH . '/yaml');
$config->setMetadataDriverImpl($driverImpl);
// Proxy Configuration (3)
$config -> setProxyDir(LIBRARY_PATH . '/Proxies');
$config -> setProxyNamespace('Proxies');
$cache = new \Doctrine\Common\Cache\ArrayCache();
$config->setMetadataCacheImpl($cache);
$config->setQueryCacheImpl($cache);
// database configuration parameters (6)
$connectionParams = array(
'dbname' => 'test',
'user' => 'test',
'password' => 'test',
'host' => '192.168.0.1',
'driver' => 'pdo_mysql',
);
// obtaining the entity manager (7)
$evm = new Doctrine\Common\EventManager();
$entityManager = \Doctrine\ORM\EntityManager::create($connectionParams, $config, $evm);
$entityManager->getConfiguration()->setMetadataDriverImpl($driverImpl);
//echo '<hr />'; var_dump( $entityManager->getMetadataFactory()->getMetadataFor('StoreItem') ); exit;
$dql = "SELECT Perons.* FROM Person";
$query = $entityManager->createQuery($dql);
var_dump( $query->getArrayResult() );
File Person.dcm.yml
文件Person.dcm.yml
Person:
type: entity
table: person
fields:
id:
id: true
type: integer
unsigned: false
nullable: false
generator:
strategy: IDENTITY
day:
type: integer
unsigned: false
nullable: true
month:
type: integer
unsigned: false
nullable: true
year:
type: integer
unsigned: false
nullable: true
country:
type: string
length: 20
fixed: false
nullable: true
city:
type: string
length: 20
fixed: false
nullable: true
address:
type: string
length: 200
fixed: false
nullable: true
phone:
type: string
length: 30
fixed: false
nullable: true
email:
type: string
length: 50
fixed: false
nullable: true
icq:
type: string
length: 15
fixed: false
nullable: true
skype:
type: string
length: 30
fixed: false
nullable: true
site:
type: string
length: 30
fixed: false
nullable: true
sex:
type: boolean
nullable: true
about:
type: string
length: 3000
fixed: false
nullable: true
status:
type: string
length: null
fixed: false
nullable: false
additionalRole:
type: string
length: null
fixed: false
nullable: false
column: additional_role
additionalRoleTitle:
type: string
length: 256
fixed: false
nullable: true
column: additional_role_title
subscribeInterest:
type: boolean
nullable: true
column: subscribe_interest
manyToMany:
encEntry:
targetEntity: EntryEnc
cascade: { }
mappedBy: author
inversedBy: null
joinTable: null
orderBy: null
resource:
targetEntity: Resource
cascade: { }
mappedBy: person
inversedBy: null
joinTable: null
orderBy: null
direction:
targetEntity: Direction
cascade: { }
mappedBy: person
inversedBy: null
joinTable: null
orderBy: null
entry:
targetEntity: Entry
cascade: { }
mappedBy: person
inversedBy: null
joinTable: null
orderBy: null
comment:
targetEntity: Comment
cascade: { }
mappedBy: person
inversedBy: null
joinTable: null
orderBy: null
oneToOne:
personType:
targetEntity: PersonType
cascade: { }
mappedBy: null
inversedBy: null
joinColumns:
person_type:
referencedColumnName: code
orphanRemoval: false
lifecycleCallbacks: { }
I'm tried to googling but found nothing about using this (YAML) files...
我试图谷歌搜索,但没有发现使用这个(YAML)文件...
Can you help me to find way?
你能帮我找路吗?
- What for yaml files needle, is it metadata files?
- 什么yaml文件针,是元数据文件?
- Please, give me some example of use, because all examples that I tried throw me exception..
- 请给我一些使用示例,因为我试过的所有例子都让我异常..
Thank you very much!
非常感谢你!
1 个解决方案
#1
0
create a folder for Entities, Proxies and mapping files ... like this
为实体,代理和映射文件创建一个文件夹......就像这样
/bin
/Entities
/Proxies
/mapping
/xml
/yml
cli-config.php
...
in the cli-config.php change the Driver's path for the current
在cli-config.php中更改当前驱动程序的路径
and try with this commands
并尝试使用此命令
php doctrine orm:convert-mapping --from-database --namespace='Entities\' xml mapping/xml
php doctrine orm:convert-mapping --from-database --namespace='Entities\' yml mapping/yml
php doctrine orm:generate-entities --generate-annotations=1 .
php doctrine orm:generate-proxies Proxies
#1
0
create a folder for Entities, Proxies and mapping files ... like this
为实体,代理和映射文件创建一个文件夹......就像这样
/bin
/Entities
/Proxies
/mapping
/xml
/yml
cli-config.php
...
in the cli-config.php change the Driver's path for the current
在cli-config.php中更改当前驱动程序的路径
and try with this commands
并尝试使用此命令
php doctrine orm:convert-mapping --from-database --namespace='Entities\' xml mapping/xml
php doctrine orm:convert-mapping --from-database --namespace='Entities\' yml mapping/yml
php doctrine orm:generate-entities --generate-annotations=1 .
php doctrine orm:generate-proxies Proxies