컨텍스트 : Apigility 기반 응용 프로그램은 Zend Framework 2을 기반으로합니다. 첫 번째 버전 (V1
)에서는 모델 레이어에 ZfcBase
DbMapper
을 사용했습니다. 이제 ORM으로 V2
을 Doctrine 2으로 구현하고 있습니다.Doctrine과 함께 Apigility 앱에서 여러 버전을 동시에 사용하는 방법은 무엇입니까?
/config/autoload/global.php
//config/autoload/local.php
<?php
return array(
...
'db' => array(
'adapters' => array(
'DB\\myproject_v1' => array(
// settings (driver, hostname, database, driver_options)
// credentials (username, password)
...
),
'DB\\myproject_v2' => array(
// settings (driver, hostname, database, driver_options)
// credentials (username, password)
...
),
),
),
...
);
가 다른 데이터베이스와 기본적으로 다른 버전을 사용 :
Apigility는 자신의 DB 어댑터를 사용할 수있는 버전의 모든 버전 사이에서 쉽게 전환을 제공 그 뒤에는 URL 만 변경하면됩니다.
myproject.tld/my-endpoint <-- version set to default
myproject.tld/v1/my-endpoint <-- version 1
myproject.tld/v2/my-endpoint <-- version 2
나는 내 응용 프로그램에 교리 (2)를 추가 할, 그래서 here 같은 local.php
표시된 내 확장 :
<?php
return array(
...
'doctrine' => array(
'connection' => array(
'orm_default' => array(
'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => array(
// settings (host, port, dbname)
// credentials (user, password)
...
),
),
),
),
...
);
그것은 작동,하지만 지금은 다른 사용을 위해/버전 사이의 전환에 대한 유연성이없는 그 뒤에 다른 데이터베이스가있는 버전. 어댑터 설정이 doctrine 연결 설정에 의해 무시되거나 무시됩니다.
어떻게 Apigility의 버전 유연성과 교리를 결합? Doctrine을 사용하여 Apigility 애플리케이션에서 DB 연결을 구성하고 여러 버전을 동시에 사용할 수있는 상태를 유지하는 방법은 무엇입니까?