我正在尝试在我的应用程序中使用类型提示功能,但有些地方无法正常工作。我尝试了以下
define('PULSE_START', microtime(true));
require('../Pulse/Bootstrap/Bootstrap.php');
$app = new Application();
$app->run();
$app->get('/404', function(Application $app)
{
$app->error(404);
});
我得到的不是 404 输出
Catchable fatal error: Argument 1 passed to {closure}() must be an instance of Pulse\Core\Application, none given in E:\Server\xampp\htdocs\web\pulse\WWW\Index.php on line 23
我不明白,Application 类是一个命名空间类 (Pulse\Core\Application),但我创建了一个别名,所以我认为这不是问题所在。
最佳答案
根据 none
作为传入类型值给出的事实,我认为 get 在使用闭包时不会传递参数。要将 $app 放入闭包中,您可以使用
应用程序。
$app->get('/404', function() use ($app)
{
$app->error(404);
});
并验证您的 get
方法将 $this
作为匿名函数的第一个参数传递。
关于PHP 类型提示不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17793366/