小编Nat*_*ate的帖子

树枝环中的Typehint(intellisense)对象

我已经找到了解决方案,但我找不到任何适合的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插件(很抱歉没有提前指出这个)

symfony twig phpstorm

19
推荐指数
2
解决办法
4410
查看次数

PHP7:带有标量类型声明的方法拒绝键入juggle NULL值,即使在弱/强制模式下也是如此

由于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.同样适用于 …

php casting type-hinting php-7

4
推荐指数
1
解决办法
467
查看次数

标签 统计

casting ×1

php ×1

php-7 ×1

phpstorm ×1

symfony ×1

twig ×1

type-hinting ×1