這是我的第一個問題,除了我不是英語母語的人,提前爲新手的錯誤很抱歉...Symfony2的文件是不是在這
我開始與Symfony2中,我一直在面對自動加載問題一兩天,我越來越瘋狂..
我只是想在我的AppBundle的DefaultController內使用PHP類。我讀過這樣做的方法是在我的config.yml中創建一個服務,併爲該類匹配命名空間。
Symfony的告訴我,它並找到該文件,但該類不是在裏面,確切的錯誤是:
The autoloader expected class "Priceget\CollectorBundle\Crawler\Amazon" to be defined in file "/srv/www/lol.com/public_html/priceget/symfony/src/Priceget/CollectorBundle/Crawler/Amazon.php". The file was found but the class was not in it, the class name or namespace probably has a typo.
而我的班就是這樣的:
<?php
namespace Priceget\CollectorBundle\Crawler\Amazon;
use Symfony\Component\HttpFoundation\Response;
class Amazon
{
public function getAll()
{
return new Response('l0l');
}
}
在我DefaultController我打電話會這樣:
<?php
namespace Priceget\CollectorBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Guzzle\Http\Client;
use Symfony\Component\DomCrawler\Crawler;
use Priceget\CollectorBundle\Crawler\Amazon;
class DefaultController extends Controller
{
public function indexAction()
{
$amazon = $this->get('amazon.crawler');
}
}
而且我config.yml片:
services:
amazon.crawler:
class: Priceget\CollectorBundle\Crawler\Amazon
我已經試過:
- 清空緩存
- 重新啓動Apache
- 擴展類控制器? :-Z
非常感謝你提前。
通過這樣做,它返回文件未找到,自動加載錯誤。順便說一句,我的文件夾結構是:src/Priceget/CollectorBundle/Crawler/Amazon。任何建議? – manelgarcia
如果你有「亞馬遜」文件夾和「Amazon.php」文件,那麼你需要將服務類定義更改爲:'Priceget \ CollectorBundle \ Crawler \ Amazon \ Amazon' –
我不想,我錯過了.php文件:P文件結構是:src/Priceget/CollectorBundle/Crawler/Amazon。PHP,如果我擺脫'亞馬遜'系統引發:FatalErrorException:錯誤:類'Priceget \ CollectorBundle \ Crawler'找不到/srv/www/domain.es/public_html/priceget/symfony/app/cache/dev/ appDevDebugProjectContainer.php – manelgarcia