在使用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();发布于 2020-09-11 20:25:47
在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()方法。
便笺
为了在$app上使用create()方法,请确保您已经安装了slim/psr7,否则您可能会看到血淋淋的红色警告。如果您没有安装slim/psr7,可以使用以下命令来安装它
composer require slim/psr7
因此,在确保slim/psr7存在之后,代码必须如下所示
require __DIR__ . "/../vendor/autoload.php";
$app = new \DI\Bridge\Slim\Bridge;
$app->create();https://stackoverflow.com/questions/63847074
复制相似问题