0

我想在我的“联系我们”页面中创建一个表格。我正在关注本教程。我必须扩展 sfFrom 类才能使用 sfWidget,但在我的代码中我已经扩展了 BaseController。

有什么解决方案可以在不开设新课程的情况下做到这一点吗?

class InfoController extends BaseController
{
    /**
     *
     * @Route("/contactus", name="info_contactus_page")
     * @Template()
     */
    public function contactusAction()
    {
        return array();
    }
}
4

3 回答 3

1

你做错了。

symfony 1与 Symfony 2完全不同(查看这篇文章:Symfony2 如何与 symfony1 不同)。您按照 sf1 中的教程在 sf2 中创建表单。

您应该尝试寻找 sf2 的资源,例如:

由于您是法国人,我建议您阅读以下教程:

然后,当您阅读完这些教程后,您可以回到这里就您在实现表单时遇到的问题提出一个新问题。

于 2012-10-29T13:40:34.480 回答
0

使用组合或接口。

在您的情况下,组合是解决方案。

PHP 不允许多重继承

于 2012-10-29T11:15:46.950 回答
0

如果可以使用 PHP5.4,请使用特征: http ://php.net/manual/en/language.oop5.traits.php

<?php 

trait SomeOtherControllerTrait {
    function SomethingSomethingSomething() { /* Something */ }
}

class InfoController extends BaseController {
    use SomeOtherControllerTrait;
    /* ... */
}

它们允许您通过使用组合获得与多重继承相似的结果。

编辑:由于问题下面的标签更改为 Symfony2:您不需要多重继承,因为 Symfony2 以不同的方式处理这种情况。接受的答案很好地描述了它。

于 2012-10-29T12:18:27.290 回答