PHP中对象变为null的实例
我们曾经遇到过一个间歇性的问题,实例化对象的变量在一两行代码中似乎随机变为null 比如说PHP中对象变为null的实例,php,Php,我们曾经遇到过一个间歇性的问题,实例化对象的变量在一两行代码中似乎随机变为null 比如说 class Club { } class Foo { public function Bar(Club $club) { // Do something } } $club = new Club(); (new Foo())->Bar($club); 通过错误传递给Foo::bar()的参数1必须是Club的实例,如果为null这在运行单元测试时尤其普遍
class Club {
}
class Foo {
public function Bar(Club $club)
{
// Do something
}
}
$club = new Club();
(new Foo())->Bar($club);
通过错误传递给Foo::bar()的参数1必须是Club的实例,如果为null
这在运行单元测试时尤其普遍,但有时会在实时请求中出现
甚至试图用嘲弄来回避俱乐部课程中可能出现的任何问题
$club = Mockery::mock(Club::class);
(new Foo())->Bar($club);
这是在Ubuntu 14.04.3 LTS和PHPUnit 5.4.7上运行PHP7.0.12-1
有没有人遇到过类似的问题?或者关于如何调试此类问题的任何想法(特别是考虑到它的间歇性)如果在
Club
中设置属性,问题是否相同?编辑:在Windows 8上使用PHP7.0.12(cli)
,示例中的代码运行良好。可能是Ubuntu版本中的错误。使用时没有问题。@AnthonyB是的,这里的代码显然已经简化了。一个特定的单元测试使用$club=mockry::mock(club::class)代码>$club->club\u id=47
$article=ClubNewsUtility::getArticle($club,12)
Hmm无法在注释中获得正确的格式,但您可以获得idea@JohnHickling我在我的机器上测试了它,我认为这可能是Ubuntu版本的一个错误。这个简化的代码(你的例子)在你的机器上也失败了?