我正在尝试symfony的学校项目,但我得到一个错误,让我停了几个小时,我找不到任何答案,所以我希望有人能帮助我。
我尝试用表格注册用户注册的视图,我遵循一些symfony食谱指南,但无法达到目的。
我告诉你情况,我有一个默认控制器的捆绑,我现在已经把所有渲染视图的功能放在一起,但是我想做得更好,并且让各种控制器有更好的组织。
我创建了一个名为的控制器: 的 AccountControler.php 是的 // src / AppBundle / Controller / AccountController.php
<?php
// src/AppBundle/Controller/AccountController.php
namespace AdrianG\RegisterBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use AdrianG\RegisterBundle\Form\UserType;
use AdrianG\RegisterBundle\Entity\User;
use Symfony\Component\HttpFoundation\Request;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class RegistrationController extends Controller
{
/**
* @Route("/register", name="user_registration")
*/
public function registerAction(Request $request)
{
//....
我认为路由是正确的:
user_registration:
pattern: /register
defaults: { _controller: AdrianGRegisterBundle:Account:register}
我在尝试访问时遇到错误
本地主机/ symfony8 /网络/ app_dev.php /用户/注册
autoloader预期类“AdrianG \ RegisterBundle \ Controller \ AccountController”将在文件“/Applications/AMPPS/www/symfony8/src/AdrianG/RegisterBundle/Controller/AccountController.php”中定义。找到了该文件,但该类不在其中,类名或命名空间可能有拼写错误。
我可以使用我的路由和DefaultController.php访问任何地方 我搜索过,人们会说关于命名空间(¿我认为它是正确的吗?)或者说
我真的不知道可能会出现什么问题,而且一些帮助会非常好
Adrian Gonzalez
编辑: DefaultController.php和AccountControler.php在同一个文件夹中,它们是否具有相同的命名空间,如果是这样的话?
答案 0 :(得分:2)
您的路由错误。
它应该是;
user_registration:
pattern: /register
defaults: { _controller: AdrianGRegisterBundle:Registration:register}
该类的文件名也应为RegistrationController.php