PHP:调用PDOStatement::fetchObject()后如何获取对象智能提示
解决PDO fetchObject后IDE智能提示不识别Player成员的问题
下面几种方法能让IDE正确识别$player的类型,调出Player类的成员变量提示:
添加PHPDoc类型注释(通用方案)
在变量上方加注释明确类型,兼容所有PHP版本:class Player { public $playerID; public $playerEXP; } // PDO连接、预处理、绑定执行已完成 /** @var Player $player */ $player = $stmt->fetchObject("Player");删掉冗余的初始化代码
你原来代码里的$player = new Player();完全多余,后面马上被fetchObject的结果覆盖,删掉这行能避免IDE对变量类型产生混淆。用assert断言辅助识别
通过instanceof断言让IDE明确变量类型:$player = $stmt->fetchObject("Player"); assert($player instanceof Player);PHP 7.4+结合强类型提示
如果项目使用PHP 7.4及以上版本,可配合类型注释进一步强化识别:class Player { public $playerID; public $playerEXP; } // PDO连接、预处理、绑定执行已完成 /** @var Player $player */ $player = $stmt->fetchObject("Player");
内容的提问来源于stack exchange,提问作者nerotech
相关产品推荐
相关产品推荐

