作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
FOSUserBundle 配置文件 Controller
use Symfony\Component\DependencyInjection\ContainerAware;
class ProfileController extends ContainerAware
一些功能还可以......但是当我尝试然后创建表单时
$form = $this->createForm
出现这个错误:Call to undefined method ProfileController::createForm()
但是当我把它改成这个时:
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class ProfileController extends Controller
表单已呈现...所以...我不知道如何将此 Controller 添加到我的类中并且不删除 ContainerAware ? :/
//
我的解决方案?
我使用的不是容器感知
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
然后
class ProfileController extends Controller implements ContainerAwareInterface
但我不知道我不能看到不同的我现在是菜鸟所以......这是一个好的解决方案还是我会破坏一些东西?
最佳答案
回答你原来的问题,
替换:
$form = $this->createForm
与:
$form = $this->container->get('form.factory')->create($type, $data, $options);
createForm 方法只是定义在 Symfony\Bundle\FrameworkBundle\Controller\Controller 中的一个便捷方法。由于各种原因,第 3 方库倾向于不扩展 Controller 类。因此 createForm 不可用。
真正的问题是:你为什么要扩展 Profile Controller ?在大多数情况下,它是不必要的。最好通过监听事件来进行自定义。这当然假设您使用的是 FOSUserBundle 的开发版本。
关于symfony - symfony2 中的 containerAware 和 Controller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15407546/
FOSUserBundle 配置文件 Controller use Symfony\Component\DependencyInjection\ContainerAware; class Prof
我是一名优秀的程序员,十分优秀!