Slim 4.14.0 已发布
我们很高兴发布 Slim 4.14.0。作一个成熟的版本,并没有多大的变化,所有都是次要的,你可以在 这里 查看。
模板泛型类型提示
此版本将 模板泛型 docblock 引入到 Slim 中。
如Slim\App有一个getContainer(): ?ContainerInterface方法,泛型 docblock 使你能够指定调用此方法时实际返回的类型。例如,假设你在使用 PHP-DI,并且拥有以下代码
$container = $this->app->getContainer();
$entries = $container->getKnownEntryNames();
Psalm 或 PHPStan 无法知道$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 容器)。