釋出 Slim 4.14.0

我們很榮幸地宣布已釋出 Slim 4.14.0。作為一個成熟的版本,變動並不多,且都是些次要的變動,可在這裡 查看。

具範本泛型的型別提示

此版本於 Slim 中加入範本泛型文件區塊

由於Slim\App有一個getContainer(): ?ContainerInterface方法,因此泛型文件區塊讓您能夠在呼叫此方法時,指定實際傳回的型別。例如,考慮到您正在使用 PHP-DI,並有以下程式碼

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

PsalmPHPStan 無從得知$containerDI\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 */

(如果您有使用)。