Slim 4.14.0 已发布

我们很高兴发布 Slim 4.14.0。作一个成熟的版本,并没有多大的变化,所有都是次要的,你可以在 这里 查看。

模板泛型类型提示

此版本将 模板泛型 docblock 引入到 Slim 中。

Slim\App有一个getContainer(): ?ContainerInterface方法,泛型 docblock 使你能够指定调用此方法时实际返回的类型。例如,假设你在使用 PHP-DI,并且拥有以下代码

$container = $this->app->getContainer();
$entries = $container->getKnownEntryNames();

PsalmPHPStan 无法知道$container是一个实例DI\Container它有一个getKnownEntryNames()方法,因此会报错。

为了让静态分析器知道我们使用 PHP-DI 创建了Slim\App,我们将/** @var \Slim\App $app */更改为/** @var \Slim\App<DI\Container> $app */现在 PHPStan 知道getKnownEntryNames()$container.

中是一个有效的方法调用

更新你的类型提示Slim\App对于你的代码库,如果你使用/** @var \Slim\App $app */类型提示

  • 实例变量,则需要将它更改为/** @var \Slim\App<null> $app */
  • (如果你不使用 DI 容器),或/** @var \Slim\App<\Psr\Container\ContainerInterface> $app */

(如果你使用 DI 容器)。