You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony项目中Psalm误报PossiblyUnusedMethod错误的解决

问题:Psalm 提示 PossiblyUnusedMethod 但方法已被内部调用

我在开发Symfony项目时用Psalm做静态代码检测,遇到一个困惑的错误:

ERROR: PossiblyUnusedMethod - src/Repository/PlaylistRepository.php:116:21 - Cannot find any calls to method App\Repository\PlaylistRepository::getPlaylistsFor
    public function getPlaylistsFor( ?User $user = null ) : array

明明我已经在调用这个方法了,相关代码如下:

控制器代码(src/Controller/PlaylistController.php)

#[ Route( '/playlists', name: 'playlists-home' ) ]
public function playlists(
    EntityManagerInterface $em,
    PlaylistRepository $playlistRepository,
) : RedirectResponse|Response
{
    $params = [
        'controller_name' => self::class,
        'playlists' => $playlistRepository->getPlaylistsForUserAuthed(),
    ];
    return $this->render( 'playlists/home.html.twig', $params );
}

仓库内部调用代码(src/Repository/PlaylistRepository.php)

public function getPlaylistsForUserAuthed() : array
{
    $em = SpotifyTools::getEntityManager();
    /** @var UserRepository $userRepository */
    $userRepository = $em->getRepository( User::class );

    return $this->getPlaylistsFor( $userRepository->getUserAuthed() );
}

解决方案

因为getPlaylistsFor方法仅在仓库类内部被调用,将它的可见性从public改为private或者protected就能消除这个错误。


内容的提问来源于stack exchange,提问作者Xem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 00:25:59