cari

Rumah  >  Soal Jawab  >  teks badan

Masalah panggilan rantai PHP, phpstorm tidak boleh meminta selepas memanggil 5 kali

1.我定义了一个AR基类,里面代码如下:

AR kelas abstrak melanjutkan \PDO {
    fungsi awam abstrak daripada($tableName = '');
    fungsi awam abstrak where($condition = []);
    fungsi awam abstrak addWhere($condition = []);
    fungsi awam abstrak orderBy($orderBy = []);
    fungsi awam abstrak groupBy($groupBy = []);
    fungsi awam abstrak yang mempunyai($condition = []);
}

2.又写了一个子类DB,集成AR。

kelas db memanjangkan AR {
    fungsi awam pilih($field = [])
    {
        // TODO: Laksanakan kaedah pilih().
        pulangkan $ini;
    }

    fungsi awam daripada($tableName = '')
    {
        // TODO: Laksanakan kaedah from().
        pulangkan $ini;
    }

    fungsi awam di mana($condition = [])
    {
        // TODO: Laksanakan kaedah where().
        pulangkan $ini;
    }

    fungsi awam addWhere($condition = [])
    {
        // TODO: Laksanakan kaedah andWhere().
        pulangkan $ini;
    }

    fungsi awam groupBy($groupBy = [])
    {
        // TODO: Laksanakan kaedah groupBy().
        pulangkan $ini;
    }

    fungsi awam orderBy($orderBy = [])
    {
        // TODO: Laksanakan kaedah orderBy().
        pulangkan $ini;
    }

    fungsi awam mempunyai($condition = [])
    {
        // TODO: Laksanakan kaedah having().
        pulangkan $ini;
    }
}

抽象方法的具体实现里,都返回了本身。

3.现在我在控制器文件里实例化db类,发现能正常调用$this->db->select()->from()->where()->queryAll(); 运行不报错。queryAll里可以进行操作。

< /p>

现在问题是我在 phpstorm里面写代码的时候,写前面几个方法,编辑器可以智能提示,但是最后一个Semuapertanyaan .第 4 个调用。 但是我用yii的时候,链式调用 7 次还是能提示的 。

< /p>

伊谢尔伦伊谢尔伦2835 hari yang lalu656

membalas semua(2)saya akan balas

  • 習慣沉默

    習慣沉默2017-05-16 13:04:23

    phpStorm tidak dapat mengecam nilai pulangan kaedah queryAll dan tidak boleh memberikan gesaan.
    Selepas menambah anotasi, phpstorm boleh mengecam secara automatik

    balas
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:04:23

    @order_c, tiada satu pun kaedah yang anda nyatakan berkesan, saya telah mencubanya.
    Tidak dapat menyiarkan gambar, saya akan menghantar gambar kepada anda di sini

    Tengok~

    balas
    0
  • Batalbalas