[英]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.