如何解决未捕获的错误:在Slim-4 php和php-di中调用未定义的方法App \ App :: run
使用Slim和PHP-DI时,出现警告提示
Uncaught Error: Call to undefined method App\App::run()
代码如下:
require __DIR__ . "/../vendor/autoload.php";
$app = new \DI\Bridge\Slim\Bridge;
$app->run();
解决方法
在最新版本的PHP-DI中,进行了一些更改
DI\Bridge\Slim\App
已更改为DI\Bridge\Slim\Bridge
。因此,如果您使用的是use DI\Bridge\Slim\App as DiBridge;
,则可能无法使用。而是尝试use DI\Bridge\Slim\Bridge as DiBridge;
PHP-DI Bridge类中没有定义$app->run()
方法,因此未定义。而是使用$app->create()
方法。
注意
为了在create()
上使用$app
方法,请确保已安装slim / psr7,否则可能会看到血腥的红色警告。如果您没有安装slim / psr7,请使用以下命令进行安装
composer require slim/psr7
因此,在确保存在slim / psr7之后,代码必须如下所示
require __DIR__ . "/../vendor/autoload.php";
$app = new \DI\Bridge\Slim\Bridge;
$app->create();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。