Possible Duplicate:
Using Imagick in Symfony2?如何使用Symfony2的內
我是新來的Symfony「原始」 PHP MongoDB的PECL駕駛員所以這可能是一個僞問題。但自從幾個小時的谷歌我還沒有找到任何相關的答案,它可能值得一試這裏。
因此,基本上我使用Windows,Apache,純PHP,Mongodb和'raw'PHP_Mongodb PECL驅動程序(這裏使用'raw'這個詞來區別於Symfony2中的Doctrine Mongodb ODM包)。 PECL電驅動的工作完全正常,我可以只寫是這樣的:
<?php
$m = new Mongo();
$db = $m->myDB;
$db->find();
//Do Other DB Operations.
上面的代碼工作得很好,沒有任何「使用」,「包括」或「要求」語句,因爲我遵循的標準說明及安裝在php.ini中的PECL驅動程序擴展。在Web瀏覽器中顯示phpinfo()時,Mongodb驅動程序信息正確顯示。一切都很完美。
然後我開始使用Symfony2,因爲它提供了URL重寫,MVC模式,安全性和其他有用的東西。 Mongodb ODM捆綁原理很好,除此之外,在我看來,它只能堅持PHP對象。我的項目中有一堆javascript對象持久存在,除了在其上放置一個'PHP包裝器'(創建一個僅包含該javascript對象的PHP對象)之外,根本沒有辦法做到這一點。
當我試圖使用好老PECL招交談的數據庫與上述相同的代碼塊,我得到這個錯誤:
Fatal error: Class 'MyProject\Controller\Mongo' not found in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\Symfony\src\MyProject\Controller\DefaultController.php on line 47.
似乎Symfony2的在PHP阻塞或overwrited擴展路徑.ini,而只是尋找其自動類加載器。我想我需要更改autoload.php和/或AppKernel.php以包含該擴展名?請幫我理解這裏發生了什麼。我可以在Symfony2中使用PECL驅動嗎?或者是Mongodb ODM 是唯一的方法訪問Symfony2中的數據庫?謝謝!
'new \ Mongo()',讓我取你的副本: – hakre
@hakre謝謝!這非常有幫助! – Victor