0

在使用 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();
4

1 回答 1

0

在最新版本的 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();
于 2020-09-11T12:25:46.793 回答