繁体   English   中英

PHP Reflection类newInstance在执行时退出

[英]PHP Reflection class newInstance exit on execution

我正在使用Fuelphp框架编写控制器测试单元。 在代码中,我试图请求像这样的应用程序控制器:

$response = Request::force('controller_name/controller_method')->set_method('GET')->execute();

但是,此代码意外地退出了整个测试单元,例如PHP退出功能。 在尝试找出核心源代码中发生了什么之后,我发现在https://github.com/fuel/core/blob/1.9/develop/classes/request.php的 第440行中 ,该程序强制退出而没有任何例外。

$this->controller_instance = $class->newInstance($this);

在此代码之前

$class = new \ReflectionClass($this->controller)

我在机器上使用PHP 5.6.33和Fuelphp 1.7.2,希望有人可以帮助我解决此错误。

我认为这只是您输入中的错字,但请确保:您说

Request::force

代替

Request::forge

无论如何,我以相同的方式编写了许多测试,但是在调用伪造它之前我们添加了几行:

$_SERVER['REMOTE_ADDR'] = '127.0.0.1';
$_SERVER['HTTP_ACCEPT'] = 'application/json'; // this one may not be required for you
$_POST = array();
$_GET = array();
$request = \Request::forge('controller/action')->set_method('GET');
$request->execute();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM