Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 不能使用CRUDController_Php_Mongodb_Symfony_Sonata Admin - Fatal编程技术网

Php 不能使用CRUDController

Php 不能使用CRUDController,php,mongodb,symfony,sonata-admin,Php,Mongodb,Symfony,Sonata Admin,我正在使用sonata Mongodb AdminBundle作为我的后端,在我的情况下,我需要为我的用户模型创建一个新的操作(向他发送邮件),我严格按照文档进行操作 但我有一个奇怪的错误: 编译错误:无法将Sonata\AdminBundle\Controller\CRUDController用作控制器,因为该名称已在使用中 这是我的CRUDController代码: use Symfony\Bundle\FrameworkBundle\Controller\Controller; use S

我正在使用sonata Mongodb AdminBundle作为我的后端,在我的情况下,我需要为我的用户模型创建一个新的操作(向他发送邮件),我严格按照文档进行操作 但我有一个奇怪的错误:

编译错误:无法将Sonata\AdminBundle\Controller\CRUDController用作控制器,因为该名称已在使用中

这是我的CRUDController代码:

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Session\UserBundle\Document\User;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Sonata\AdminBundle\Controller\CRUDController as Controller;

class CrudController extends Controller
{
    public function inscriptionAction()
    {
        $mail = 'towho@someone.com';
        $pinCode = '1klm8';
        $sender = 'Mymail@gmail.com';

        $dm = $this->get('doctrine_mongodb')->getManager();
        $userManager = $this->container->get('fos_user.user_manager');

        $user = $userManager->createUser();
        $user->setEmail($mail);
        $user->setUsername($mail);
        $user->setPlainPassword($pinCode);
        $user->setEnabled(true);
        $userManager->updateUser($user, true);


        $message = \Swift_Message::newInstance()
            ->setSubject('Test de recrutement')
            ->setFrom($sender)
            ->setTo($mail)
            ->setCharset('utf-8')
            ->setContentType('text/html')
            ->setBody(
                $this->renderView(
                    'ATSQuizzBundle:Default:SwiftLayout/createUser.html.twig',
                    array('user' => $user, 'pinCode' => $pinCode)
                )
            );

        $this->get('mailer')->send($message);
        $this->addFlash('sonata_flash_success', 'mail sent to the candidate');

        return new RedirectResponse($this->admin->generateUrl('list'));
    }
}

有人知道这个错误的来源吗

您已经导入了
控制器
类。因此,在第二种情况下,需要对其进行重命名。使用“下一步”覆盖您的“使用”块:

use Session\UserBundle\Document\User;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Sonata\AdminBundle\Controller\CRUDController as Controller;
如您所见,我删除了代码中未使用的第一个出现的
Controller
类。但是如果您在此文件中有一些其他代码可以使用“old”
Controller
,我建议您将最后一个
Controller
重命名为
BaseController
,并从
BaseController
扩展您的类