Php类Typehinting不工作?

时间:2015-12-28 22:44:49

标签: php

代码:

public function __construct(\Illuminate\Container\Container $app, RuleSetInterface $rules)
{
    $this->app   = $app;
    var_dump(is_null($rules));
    var_dump($rules instanceof RuleSetInterface);
    exit();
    $this->rules = $rules;
}

// This how it is called:
$form->setValidatorResolver(new IlluminateValidatorResolver($app, $form));

输出:

boolean false
string '...\SubscriptionForm' (length=36)
boolean false

以下是如何定义SubscriptionForm类:

class SubscriptionForm extends AddressForm
class AddressForm extends Form
class Form

正如你所看到的,没有一个实现接口,所以var_dump($ rules instanceof RuleSetInterface);显示真相,但这段代码应该会导致致命的错误。

我很确定PHP抛出一个异常,说$rules是意外的类型,期望RuleSetInterface。我错过了什么吗?

PHP版本5.6.14-0 + deb8u1

1 个答案:

答案 0 :(得分:0)

好的,找到了原因。它是自定义错误处理程序,可以抑制我期待的致命错误。