私はsymfonyを学び始めました。私は この公式チュートリアル に従っています。ルーティングは、config/routes.yaml
しかし annotations の使用について:
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Annotation\Route;
class LuckyController
{
/**
* @Route("/lucky/number")
*/
public function number(){
$number = mt_Rand(0, 100);
return new Response(
'<html><body><h1>MyLucky Number: ' . $number . '</h1></body></html>'
);
}
}
私はこのエラーを受け取ります:
Exception thrown when handling an exception
(Symfony\Component\Config\Exception\FileLoaderLoadException: [Semantical Error]
The annotation "@Symfony\Component\Annotation\Route" in method
App\Controller\LuckyController::number() does not exist, or could not be auto-loaded
in C:\wamp\vhosts\mysymfony4\config/routes\../../src/Controller/ (which is
being imported from "C:\wamp\vhosts\mysymfony4\config/routes/annotations.yaml"). Make sure
annotations are installed and enabled.)
(Symfony5プロジェクトで)同じ問題がありましたが、ルートとルート名に二重引用符ではなく単一引用符を使用していたのが私の間違いでした。時々、小さなばかげた間違いはあなたの時間の多くを浪費します。ちなみに、SF4/SF5では、FrameworkExtraBundleのルーティングを使用しないでください。
Sensio\Bundle\FrameworkExtraBundle\Configuration\Route
Symfonyコンポーネント(ルーティング/アノテーション)を使用する必要があります。
use Symfony\Component\Routing\Annotation\Route;
annotations
ライブラリcomposer req annotations
をインストールしていることを確認してください。これは私の問題であり、ここで説明している問題ではありません。