Расширения Silex Doctrine - PullRequest
       5

Расширения Silex Doctrine

0 голосов
/ 06 декабря 2011

Чтобы использовать расширение Doctrine в документации по Silex , они просят вас

"Убедитесь, что вы поместили копию Doctrine DBAL в vendor / doctrine-dbal и DoctrineОбычное в vendor / doctrine-common. "

Затем они приводят пример того, как зарегистрироваться:

$app->register(new Silex\Extension\DoctrineExtension(), array(
    'db.options'            => array(
        'driver'    => 'pdo_sqlite',
        'path'      => __DIR__.'/app.db',
    ),
    'db.dbal.class_path'    => __DIR__.'/vendor/doctrine-dbal/lib',
    'db.common.class_path'  => __DIR__.'/vendor/doctrine-common/lib',
));

То, что я не получаю, это две вещи ...

1) путь __DIR _. 'Vendor / doctrine-dbal / lib'

Что означает lib ??Я не вижу папку или файл lib в пакете doctrine.

2) доктрина dbal и общие доктрины ...

Структура папок распакованного tarвыглядит следующим образом: enter image description here означает ли это, что я поместил содержимое каждой из этих папок в соответствующие папки?

Спасибо за вашу помощь.У меня больше проблем с поиском путей к этим расширениям, чем с самими расширениями.

-J

Ответы [ 3 ]

1 голос
/ 29 марта 2012

Включите их как подмодули, если вы используете git в качестве системы контроля версий (что вам и нужно).

Тогда просто добавьте их так:

git submodule add git://github.com/doctrine/dbal.git vendor/doctrine-dbal
git submodule add git://github.com/doctrine/common.git vendor/doctrine-common

Следующая инициализация папок субмодуля:

git submodule init

и извлеките их из git:

git submodule update --recursive
0 голосов
/ 06 февраля 2012

После загрузки DBLA скопируйте папку «Doctrine» в «vendor», затем обновите db.dbal.class_path и db.common.class_path в «/vendor/'.

».

    $app->register(new Silex\Provider\DoctrineServiceProvider(), array(
        'db.options' => array(
            'driver' => 'pdo_mysql',
            'host' => 'localhost',
            'dbname' => 'testdb',
            'user' => 'root',
            'password' => ''
        ),
        'db.dbal.class_path'    => __DIR__.'/vendor/',
        'db.common.class_path'  => __DIR__.'/vendor/',
    ));

или

Создайте следующую структуру папок в 'vendor'
'Доктрина-DBAL / Библиотека / Doctrine / DBAL /'
'Доктрина-общее / Библиотека / Doctrine / Общие /'

скопировать 'Doctrine / DBAL /' в 'vendor / doctrine-dbal / lib / Doctrine / DBAL /'
скопировать 'Doctrine / Common /' в 'vendor / doctrine-common / lib / Doctrine / Common /'


    $app->register(new Silex\Provider\DoctrineServiceProvider(), array(
        'db.options'            => array(
            'driver'    => 'pdo_sqlite',
            'path'      => __DIR__.'/app.db',
        ),
        'db.dbal.class_path'    => __DIR__.'/vendor/doctrine-dbal/lib',
        'db.common.class_path'  => __DIR__.'/vendor/doctrine-common/lib',
    ));

0 голосов
/ 06 декабря 2011

lib должно соответствовать папке DBAL/lib и аналогично папке Common/lib. Я думаю, что эти инструкции в большей степени соответствуют схеме установки на основе composer.

...