Laravel Form Builder String' @'被转换为代码

时间:2016-10-03 06:34:24

标签: php laravel formbuilder

我遇到的问题与' @' laravel形式的标志选择。似乎所有字符串都有' @'正在转化为代码。但这只发生在服务器(centOS服务器)上。但在我的本地机器上正常工作。

下面的图片是应该如何并且正在我当地工作。

enter image description here

然后就是它在CentOS服务器中的表现

enter image description here

我该如何解决这个问题?它是在服务器的设置中还是我需要抓住它?我试图为他们的价值观做出一些讽刺,但仍然是这样的。不确定导致它在centOS中不起作用的原因。谢谢你的回复。

这是json对象在配置文件中的表达方式。

   'group'=>[
            'type'=>'choice',
            'optional'=>[
                'label' => 'Group',
                'choices'=>function(){
                    return Modules\Group\Entities\Group::all()->lists('name','id')->toArray();
                },
                // 'multiple' => true,
                'attr' => ['multiple' => 'multiple', 'class' =>'multiselect-checkbox']
            ]
        ],

这是关于它们如何渲染的观点。它是一个php文件而不是刀片文件。

<?= Form::select($name, (array)$emptyVal + $options['choices'], $options['selected'], $options['attr']) ?>

1 个答案:

答案 0 :(得分:2)

您在刀片使用大括号<?= ?>{!! !!}中使用了错误的代码{{ }},这取决于您的策略,我建议您查看documentation

您的代码应该是这样的:

{!! Form::select($name, (array)$emptyVal + $options['choices'],
                       $options['selected'], $options['attr']) !!}
  

默认情况下,会自动发送Blade {{}}语句   PHP的htmlentities可以防止XSS攻击。

请检查documentation

感谢@Jonathon感谢我{!! !!}我要快速按键。