使用Twig检查变量是否为日期 - php

我有一个要在Twig模板中显示的变量数组,每个变量可以是字符串或日期。

如果变量是一个日期,我想像这样应用date过滤器:

{{ my_var|date('d/m/Y') }}

如果是字符串,我希望它以通常的方式显示它:

{{ my_var }}

有什么方法可以测试变量是否为日期(即PHP DateTime对象的实例)?

参考方案

也许不是最好的方法,但是我找到了解决问题的方法。

{% if my_var.timestamp is defined %}
    {{ my_var|date('m/d/Y') }}
{% else %}
    {{ my_var }}
{% endif %}

由于DateTime PHP对象具有公共的getTimestamp方法,因此这是一种检查变量是否为日期的方法,以确定是否设置了此属性。

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…

PHP:将字符串拆分为字母和数字部分的最佳方法 - php

我有几个格式的字符串AA11 AAAAAA1111111 AA1111111 分离字符串的字母和数字部分的最佳方法(最有效)? 参考方案 如果它们都是一系列字母,然后是一系列数字,并且没有非字母数字字符,那么sscanf()可能比regexp更有效$example = 'AAA11111'; list($alpha,$numeric) =…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…

PHP:从函数返回值并直接回显它? - php

这可能是一个愚蠢的问题,但是……的PHPfunction get_info() { $something = "test"; return $something; } html<div class="test"><?php echo get_info(); ?></div> 有没有办…

Twig embed vs include,任何使用理由包括 - php

为什么不总是使用嵌入?根据文档,embed标签结合了include和extend标签的行为。我了解到,在很多情况下,您不需要扩展就只想呈现另一个模板的内容,但是在我看来,您可以始终使用embed并达到目的。嵌入是否会对性能产生影响?我缺少任何功能差异吗? 参考方案 我将总结Embed和Include之间的异同如下,两者都添加到树枝中,以使HTML代码段可重复…