Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Symfony2 File Found Class Was Not In It

This is my first question, besides I'm not english-native speaker, so sorry in advance for newbie mistakes...

I'm starting with Symfony2, and I've been facing an autoload problem for a couple of days, i'm getting crazy..

I'm just trying to use a PHP class inside my DefaultController of my AppBundle. I've read the way of doing this is by creating a service in my config.yml and giving a namespace to that class that matches.

Symfony tells me that it does found the file but the class is not in it, the exact error is:

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.

And my class is just this:

<?php

namespace Priceget\CollectorBundle\Crawler\Amazon;

use Symfony\Component\HttpFoundation\Response;

class Amazon
{

    public function getAll()
    {
        return new Response('l0l');
    }
}

In my DefaultController I'm calling it like that:

<?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');
    }
}

And my config.yml piece:

services:
    amazon.crawler:
        class: Priceget\CollectorBundle\Crawler\Amazon

I've already tried to:

  • Empty cache
  • Restart apache
  • Extend the class to Controller? :-Z

Thank you so much in advance.

like image 531
manelescuer Avatar asked Sep 29 '13 17:09

manelescuer


2 Answers

Your namespace is wrong, rename it:

from: namespace Priceget\CollectorBundle\Crawler\Amazon;

to: namespace Priceget\CollectorBundle\Crawler;

like image 169
Igor Pantović Avatar answered Sep 22 '22 00:09

Igor Pantović


This error also occurs if you do not put <?php in the beginning of the file.

like image 5
Anton Andreev Avatar answered Sep 24 '22 00:09

Anton Andreev