我已经找到了解决方案,但我找不到任何适合的Twig,我知道这是一种生活品质.但它会使模板稍微容易一些.
例
{% for userObj in userObjCollection %}
{{ userObj.property }}
{# I want to type hint userObj so I can use intellisense to get the right property #}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我目前正在使用PHPStorm IDE,
非常感谢任何建议或指示.
编辑 请注意,这是一个简单的问题,可以更简单地在循环中进行编码.不是网站用户会接触到的东西.(还添加了phpstorm标签来澄清)
编辑2
我已经安装了Symfony2和PHP Annotations插件(很抱歉没有提前指出这个)
由于PHP 7.0,标量型的提示int,float,string,和bool可包括在方法签名.默认情况下,这些类型声明以弱/强制模式(或" 类型杂耍 "模式)运行.根据PHP手册:
如果可能,PHP会将错误类型的值强制转换为预期的标量类型.例如,为需要字符串的参数赋予整数的函数将获得string类型的变量.
但即使可以将NULL强制转换为整数0,带有inttypehint 的方法也会拒绝强制NULL转换为整数0 的入站值.
<?php
class MyClass
{
public function test(int $arg)
{
echo $arg;
}
}
$obj = new MyClass();
$obj->test('123'); // 123
$obj->test(false); // 0
$obj->test(null); // TypeError: Argument 1 passed to MyClass::test()
// must be of the type integer, null given
Run Code Online (Sandbox Code Playgroud)
类似地,即使可以将NULL强制转换为布尔值false,带有booltypehint 的方法也会拒绝强制NULL转换为布尔值的入站值false.同样适用于 …