php – 如何在自定义表单类型中生成绝对URL?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 如何在自定义表单类型中生成绝对URL?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有示例自定义表单类型:
namespace Acme\SimpleBundle\Form\TyPE;

use Symfony\component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

class ExampleType extends AbstractType
{

    public function builDForm(FormBuilderInterface $builder,array $options)
    {

        $builder->setAction(****-----GENERATE-ROUTE-ABSOLUTE-URL-HERE-----****)
                ->add('email','text')
                ->add('send','submIT');
    }

    public function getName()
    {
         return 'example';
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setdefaults(array(
            'error_bubbling' => true
        ));
    }

}

何在路线中生成绝对URL(如http://example.com/admin/check_form)?@H_502_4@

$this-> generateUrl()不起作用,但是它不是控制器,而且$this-> get(‘router’) – > generate()也不起作用,我不知道为什么.@H_502_4@

有两种方法可以做到

>将表单类型注册为服务并将路由器注入其中:doc
>在控制器中创建表单时,将操作作为选项传递:@H_502_4@

$form = $this->createForm(new FormType(),null,array('action' => $this->generateUrl('your_route',array(/* your route parameters */),true));

请注意,您必须将true作为最后一个参数传递,以强制路由器生成绝对URL(正如您要求的Symfony< 2.8).如果您正在使用Symfony3,请在评论中使用UrlGeneratorInterface :: ABSOLUTE_URL而不是Emilie建议的true.@H_502_4@

脚本宝典总结

以上是脚本宝典为你收集整理的php – 如何在自定义表单类型中生成绝对URL?全部内容,希望文章能够帮你解决php – 如何在自定义表单类型中生成绝对URL?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。