草庐IT

Twig_Filter

全部标签

php - 如何在使用 filter_input 的同时检查 POST 和 GET 数据?

我想知道是否有可能获取一个变量,无论它是在POST还是GET中,然后使用filter_input()对其进行清理。起初我认为$var=filter_input(INPUT_POST|INPUT_GET,"var",FILTER_SANITIZE_STRING)可能有效,但它没有,PHP手册指出你只能传递一种类型的输入。我还尝试了INPUT_REQUEST,但奇怪的是没有成功。该函数识别它(即它不会抛出一个错误,说我在$input中放错了东西),但它不会得到任何代码。是的,我知道不要在实时环境中使用INPUT_REQUEST,我只是纯粹测试它是否可行。目前我在做以下事情:$var=fil

php - Symfony2 从 phpunit 测试中的 Twig 模板访问全局变量

我有一个带有{{app.user}}的Twig模板。问题是,在phpunit测试(一个扩展WebTestCase的类)中,它被定义为NULL。使用token(http://symfony.com/doc/current/cookbook/testing/simulating_authentication.html)模拟身份验证或模拟HTTP身份验证(http://symfony.com/doc/current/cookbook/testing/http_authentication.html)没有帮助。那么如何从phpunit测试中设置一个twig全局变量呢?为什么模拟身份验证在这种情

php - Symfony Twig 覆盖特定的表单行

我有一个表单Twig模板,我想在其中使用原始过滤器(它包含html)解析特定字段的帮助文本。该字段在名为Clinic的表单中称为邮政编码根据这里http://symfony.com/doc/current/cookbook/form/form_customization.html#how-to-customize-an-individual-field表单模板:{%extends'AgriHealthAhpBundle::admin.html.twig'%}{%form_themeform'AgriHealthAhpBundle:Form:fields.html.twig'%}{%bl

php - Zend_Validate_EmailAddress 与 filter_var(..., FILTER_VALIDATE_EMAIL)

在Zend_Validate_EmailAddress和filter_var(...,FILTER_VALIDATE_EMAIL)中,验证电子邮件地址时哪个更好,为什么? 最佳答案 两者都可用于验证电子邮件地址,但Zend_Validate_EmailAddress更强大。虽然filter_var是一个简单的是或否验证器,但有许多选项可以改变Zend_Validate_EmailAddress的严格程度。您可以选择要验证的部分、验证这些部分的规则,甚至可以选择验证MX记录。最后,Zend_Validate_EmailAddress可

php - Symfony2 测试 : filter with html:contains return one value

我想在用户提交没有任何数据的表单时使用PHPUnit测试我的Symfony2应用程序。我的验证已激活,因此错误消息会在导航器中正确显示。例如在实体中:classFoo{/***@varstring**@Assert\NotBlank()*@ORM\Column(name="name",type="string",length=255)*/private$name;/***@varstring**@Assert\NotBlank()*@ORM\Column(name="city",type="string",length=255)*/private$city;}以及这个实体的类型:cla

php - Twig 不更新 symfony 中的更改

我在开发人员模式和Windows10中使用Symfony2.8。当我更新模板Twig时,我总是必须清除缓存以更新渲染。我查看了文件夹缓存和日志的权限,我拥有必要的权限。有什么帮助吗? 最佳答案 转到应用程序配置文件(默认情况下位于根目录的../app/config/config.yml中)。滚动到twig配置设置(在twig:下)并将缓存值(应指向缓存目录)更改为false,如下所示:twig:cache:false如果您没有看到任何缓存配置条目,只需添加上面的行即可。或者您可以在web/app_dev.php上禁用twig缓存,只

php - 如何在 Twig 中使用 PHP 模板引擎而不是 Silex 中的 Twig 语法

在Silex中,我可以使用Twig模板,但我想使用Twig的PHP引擎,而不是Twig语法。例如thisguide描述了如何为Symfony而不是Silex做到这一点。我的Silexindex.php看起来像:$app->register(newSilex\Provider\TwigServiceProvider(),array('twig.path'=>__DIR__.'/views',));$app->get('/',function()use($app){return$app['twig']->render('index.html.php',array('name'=>'Bob'

php - 我不能在 Twig_Extension 类中将内部函数与 Twig_SimpleFilter 一起使用

我有一个使用Symfony2的基于Twig的项目。由于Symfony2的特性,使用了命名空间。因此,我无法在命名空间之外提供全局函数。这是我的Twig扩展类:newTwig_SimpleFilter('shortKey','myCustomFilterFunction'));}publicfunctionmyCustomFilterFunction(){//codehere...}结果:FatalErrorException:错误:调用未定义函数myCustomFilterFunction()为什么:因为,Twig试图找到这个函数,但它在一个类中。如果这次我将它移到类之外,我将面临命名

php - 如何在 Twig 中正确循环三维数组?

我有一个这样的数组设置;而且我似乎无法用Twig遍历这些值:array(size=1)'hash'=>array(size=7)0=>array(size=4)'key1'=>"val"'key2'=>"val"'key3'=>"val"'key4'=>"val"1=>array(size=4)'key1'=>"val"'key2'=>"val"'key3'=>"val"'key4'=>"val"...我正在使用的模板代码(在第n次迭代中):{%foriinhash%}{%forjini%}{{j.key1}}{{j.key2}}{{j.key3}}{{j.key4}}{%endfor

php - Symfony2 - 在 Twig 中获取一个实体而不是 PersistentCollection

我正在使用symfony2,但无法在twig中获取相关实体。所以我有我的主要实体,我们称它为Post,它具有OneToMany关系:/***@ORM\OneToMany(targetEntity="Comment",mappedBy="Post",cascade={"persist","remove"})*/private$comments;我用我的Controller将它传递给twig,我可以访问每个属性,但是当我尝试访问具有“Comment”之类关系的属性时,我得到一个“Doctrine\ORM\PersistentCollection)"里面有很多私有(private)属性(pr