釋出 Slim 4.14.0
我們很榮幸地宣布已釋出 Slim 4.14.0。作為一個成熟的版本,變動並不多,且都是些次要的變動,可在這裡 查看。
具範本泛型的型別提示
此版本於 Slim 中加入範本泛型文件區塊。
由於Slim\App有一個getContainer(): ?ContainerInterface方法,因此泛型文件區塊讓您能夠在呼叫此方法時,指定實際傳回的型別。例如,考慮到您正在使用 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 */
(如果您有使用)。