我创建了简单的 Twig 过滤器
class Twig_Extension_Form extends Twig_Extension{
public function getName() {
return 'Form';
}
public function getFilters() {
return [
'fLabel'=>new Twig_Filter_Method($this,'label_filter')
];
}
public function getFunctions() {
return [];
}
public function label_filter($string,$id=null,$class=null){
return '<label'.(!is_null($id)&&is_string($id)?' id="'.$id.'"':null).(!is_null($class)&&is_string($class)?' class="'.$class.'"':null).'>'.$string.'</label>';
}}
过滤器有效,但是当我在浏览器引号中显示代码时,实体会被替换。当我使用 echo 而不是返回过滤器时,它可以正常工作。
我想使用 return 因为标签并不总是应该立即显示。