sundowatch
sundowatch

Reputation: 3103

PHP Symfony Semantical Error

I created src/Controller file named as sampleController.php:

<?php
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class sampleController extends Controller
{
    /**
     * @Route("/hello")
     */
    public function number()
    {
        $number = mt_rand(0, 100);

        return $this->render('sample/number.html.twig', array(
            'number' => $number,
        ));
    }
}

My twig file is this:

<h1>Number is: {{ number }}</h1>

And routes.yaml is this:

sample_asd:
  path: /hello
  controller: App\Controller\sampleController::number

I've installed annotations and --dev profiler. But when I navigate to http://localhost:8000/hello it gives:

HTTP 500 Internal Server Error [Semantical Error] The annotation "@Route" in method App\Controller\sampleController::number() was never imported. Did you maybe forget to add a "use" statement for this annotation? in C:\xampp\htdocs\Projects\symfony_learning\config/routes../../src/Controller/ (which is being imported from "C:\xampp\htdocs\Projects\symfony_learning\config/routes/annotations.yaml"). Make sure annotations are installed and enabled.

I didn't understand what is the problem.

Thanks

Upvotes: 2

Views: 2374

Answers (1)

Mike Kor
Mike Kor

Reputation: 876

You did forget to include annotation class. Try to add this.

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;

Update

For symfony 4 you should use this path.

use Symfony\Component\Routing\Annotation\Route;

Upvotes: 5

Related Questions