0

为了在 Silex使用文档中使用 Doctrine Extension,他们要求您

“确保在 vendor/doctrine-dbal 中放置 Doctrine DBAL 的副本,在 vendor/doctrine-common 中放置 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 文件夹或文件。

2) 学说 dbal 和学说共同...

解压后的 tar 的文件夹结构如下所示: 在此处输入图像描述 这是否意味着我将每个文件夹的内容放在各自的文件夹中?

谢谢你的帮助。与扩展本身相比,我在找出这些扩展的路径时遇到了更多的麻烦。

-J

4

3 回答 3

1

如果您使用 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
于 2012-03-29T09:43:41.757 回答
0

lib应该与DBAL/lib文件夹相对应,同样与文件夹相对应Common/lib。我认为这些说明更符合composer基于安装的布局。

于 2011-12-06T19:14:36.033 回答
0

下载 DBLA 后,将“Doctrine”文件夹复制到“vendor”,然后将 db.dbal.class_path 和 db.common.class_path 更新为“/vendor/”。

    $app->register(new Silex\Provider\DoctrineServiceProvider(), 数组(
        'db.options' => 数组(
            '驱动程序' => 'pdo_mysql',
            '主机' => '本地主机',
            'dbname' => 'testdb',
            '用户' => 'root',
            '密码' => ''
        ),
        'db.dbal.class_path' => __DIR__.'/vendor/',
        'db.common.class_path' => __DIR__.'/vendor/',
    ));

或者


在 'vendor' 'doctrine-dbal/lib/Doctrine/DBAL/'
'doctrine-common/lib/Doctrine/Common/'中创建以下文件夹结构

复制 'Doctrine/DBAL/' 到 'vendor/doctrine-dbal/lib/Doctrine/DBAL/'
复制 'Doctrine/Common/' 到 'vendor/doctrine-common/lib/Doctrine/Common/'

    $app->register(new Silex\Provider\DoctrineServiceProvider(), 数组(
        'db.options' => 数组(
            '司机' => 'pdo_sqlite',
            '路径' => __DIR__.'/app.db',
        ),
        'db.dbal.class_path' => __DIR__.'/vendor/doctrine-dbal/lib',
        'db.common.class_path' => __DIR__.'/vendor/doctrine-common/lib',
    ));

于 2012-02-05T22:55:51.813 回答