这是我的第一个问题,除了我不是以英语为母语的人之外,对于新手的错误,请提前道歉......
我从 Symfony2 开始,几天来一直面临自动加载问题,我快疯了..
我只是想在我的 AppBundle 的 DefaultController 中使用 PHP 类。我读过这样做的方法是在我的 config.yml 中创建一个服务,并为匹配的类提供一个命名空间。
Symfony 告诉我它确实找到了该文件,但该类不在其中,确切的错误是:
自动加载器预期类“Priceget\CollectorBundle\Crawler\Amazon”将在文件“/srv/www/lol.com/public_html/priceget/symfony/src/Priceget/CollectorBundle/Crawler/Amazon.php”中定义。找到文件但类不在其中,类名或命名空间可能有错字。
我的课就是这样:
<?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
我已经尝试过:
- 空缓存
- 重启阿帕奇
- 将类扩展到控制器?:-Z
非常感谢你。