我使用以下命令创建了一个新的 Symfony 3.4 项目:
composer create-project symfony/skeleton my-project
之后我添加了以下组件:
composer require twig
composer require annotations
composer require maker
并创建了一个控制器:
php bin/console make:controller
我添加了一个路线为“合法”的操作。这是默认控制器:
<?php
namespace App\Controller;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class DefaultController extends Controller
{
/**
* @Route("/", name="homepage")
*/
public function index()
{
return $this->render('index.html.twig', [
'controller_name' => 'DefaultController',
]);
}
/**
* @Route("/legal", name="legal")
*/
public function legal()
{
return $this->render('legal.html.twig', []);
}
}
文件config/routes.yaml:
#index:
# path: /
# defaults: { _controller: 'App\Controller\DefaultController::index' }
和 config/routes/annotations.yaml:
controllers:
resource: ../../src/Controller/
type: annotation
当我访问主页时,没有问题,页面正在显示。但是当我尝试 /legal 页面时,我遇到了 404 :
未找到 - 在此服务器上未找到请求的 URL /legal。
php bin/console debug:router
显示预期:
------------------ -------- -------- ------ --------------------------
Name Method Scheme Host Path
------------------ -------- -------- ------ --------------------------
homepage ANY ANY ANY /
legal ANY ANY ANY /legal
_twig_error_test ANY ANY ANY /_error/{code}.{_format}
------------------ -------- -------- ------ --------------------------
我使用控制台命令并删除 var/cache 目录的内容来清除缓存。但还是404。
我是 3.4 的新手。有任何想法吗 ?谢谢...