2011-04-19 113 views
3

我正在努力使Doctrine 2工作。但在documentation page about the CLI tool,它包括Symfony的東西...學說2需要Symfony?

$helperSet = new \Symfony\Component\Console\Helper\HelperSet(array(
    'db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()), 
    'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em) 
)); 

什麼* *是什麼?爲什麼你需要Symfony來使教義工作?

對我來說這似乎完全是奇怪的,但我無法下定決心只爲缺失的課程下載Symfony ...你能幫我嗎?

回答

11

教義控制檯東西使用了一些Symfony的組件(這是standalone libraries,從全框架分開包裝)。

所以這並不奇怪 - 原則團隊只是避免重塑一個完美的輪子。

+1

好的,如果它與它一起包裝,我同意「該學說團隊只是避免重塑一個完美的輪子。」。顯然我下載了一個不包含這些組件的版本,我會再試一次。謝謝。 – 2011-04-20 16:18:43

+0

我99%確定tarball分佈包含了一切。我有通過git將原則拉入項目的問題,但YMMV。 – timdev 2011-04-20 19:47:23

3

安裝DoctrineSymfonyConsole可能會解決這個問題:

pear install doctrine/DoctrineSymfonyConsole 

如果從梨裝主義,你可能有這樣的被正常處理錯誤。嘗試安裝所有依賴項:

pear install -af doctrine/DoctrineORM 

確保沒有問題。如果有缺少的軟件包,它會警告你,你會想要安裝這些軟件包。我以前遇到的問題是 - 如果安裝依賴項時出現問題,則-a(所有依賴項)都不會出錯,並且即使報告成功,安裝也會暫停。

http://pear.doctrine-project.org/

+0

我喜歡[從GitHub安裝主義(http://www.doctrine-project.org/docs/orm/2.0/en/reference/introduction.html#github) – Cobby 2011-04-20 01:27:09

+0

它實際上只是歸結爲偏好(比如使用YUM和編譯源代碼),但我認爲PEAR更普遍。另一個額外的好處是不必調整默認安裝的include_path。 無論哪種方式,安裝只是教條/ DoctrineSymfonyConsole將解決問題。您可以使用上面我的答案中的PEAR命令,或者從答案中列出的鏈接@timdev下載它們。 – 2011-04-20 13:42:59

2

如果您下載最新的Doctrine tar.gz文件,Symfony控制檯會預先打包。無需單獨下載。您會在Doctrine文件夾中找到一個名爲Symfony的文件夾。它有控制檯和Yaml組件。

+0

好吧,我會嘗試再次下載。 – 2011-04-20 16:19:02