2011-12-06 23 views
0

要使用的原則擴展在Silex的usage documentation,他們都在問,你Silex的原則擴展

「確保你的地方主義DBAL的副本供應商/學說,DBAL和學說常見於供應商/ doctrine-共同。」

然後,他們去到如何與註冊一個例子:

$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 _'供應商/ doctrine-dbal/lib'

什麼意思?我在doctrine包中看不到lib文件夾或文件。

2)學說DBAL和學說共同...

解壓後的焦油的文件夾結構如下所示: enter image description here 這是否意味着我把內容每個這些文件夾中在他們各自的文件夾?

感謝您的幫助。我很難弄清楚這些擴展的路徑,而不是我自己的擴展。

-J

回答

0

lib應該對應於DBAL/lib文件夾,並同樣與Common/lib文件夾。我認爲這些說明更符合composer的安裝佈局。

+0

我似乎已經想通了...我不得不復制github的結構,而不是從doctrine dbal下載文件... –

+0

是的,它是基礎的編輯在GitHub存儲庫。我沒有意識到這個軟件包沒有包含它。 – igorw

0

下載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/', 
    )); 

創建 '供應商'
'教義-DBAL/LIB /學說/ DBAL /'
'教義-的common/lib /學說/通用/'
以下文件夾結構

複製 '學說/ DBAL /' 到 '供應商/學說,DBAL/lib目錄/教義/ DBAL /'
複製 '學說/通用/' 到 '供應商/學說-common/lib目錄/教義/通用/'

 

    $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', 
    )); 

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 submodule update --recursive