php 链式调用问题,调用到5次之后phpstorm无法提示
1.我定义了一个AR基类,里面代码如下:
abstract class AR extends \PDO {
abstract public function from($tableName = '');
abstract public function where($condition = []);
abstract public function addWhere($condition = []);
abstract public function orderBy($orderBy = []);
abstract public function groupBy($groupBy = []);
abstract public function having($condition = []);
}
2.又写了一个子类DB,集成AR。
class db extends AR {
public function select($field = [])
{
// TODO: Implement select() method.
return $this;
}
public function from($tableName = '')
{
// TODO: Implement from() method.
return $this;
}
public function where($condition = [])
{
// TODO: Implement where() method.
return $this;
}
public function addWhere($condition = [])
{
// TODO: Implement andWhere() method.
return $this;
}
public function groupBy($groupBy = [])
{
// TODO: Implement groupBy() method.
return $this;
}
public function orderBy($orderBy = [])
{
// TODO: Implement orderBy() method.
return $this;
}
public function having($condition = [])
{
// TODO: Implement having() method.
return $this;
}
}
抽象方法的具体实现里,都返回了本身。
3.现在我在控制器文件里实例化db类,发现能正常调用 $this->db->select()->from()->where()->queryAll();
运行不报错。queryAll
里可以进行操作。
现在问题是我在 phpstorm
里面写代码的时候,写前面几个方法,编辑器可以智能提示,但是最后一个queryAll
就不提示了,如果把这个链,删掉其中一个,就又可以提示了。感觉就像是最多只能提示到 第 4 个调用。 但是我用yii的时候,链式调用 7 次还是能提示的 。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
phpStorm不能识别queryAll方法返回值,给不了提示。


添加注解后, phpstorm可以自动识别
@order_c , 你说的方法都没用,我试过。
无法贴图,我在这里给你发个图吧
你看~