1.我定义了一 AR 基类,里面代码如下:
抽象クラス AR extends \PDO {
抽象パブリック関数 from($tableName = '');
抽象パブリック関数 where($condition = []);
抽象パブリック関数 addWhere($condition = []);
抽象パブリック関数 orderBy($orderBy = []);
抽象パブリック関数 groupBy($groupBy = []);
抽象パブリック関数 have($condition = []);
}
2. 子クラス DB、集合 AR をまた書きました。
class db extends AR {
パブリック関数 select($field = [])
{
// TODO: select() メソッドを実装します。
$this を返します。
}
パブリック関数 from($tableName = '')
{
// TODO: from() メソッドを実装します。
$this を返します。
}
パブリック関数 where($condition = [])
{
// TODO: where() メソッドを実装します。
$this を返します。
}
パブリック関数 addWhere($condition = [])
{
// TODO: andWhere() メソッドを実装します。
$this を返します。
}
パブリック関数 groupBy($groupBy = [])
{
// TODO: groupBy() メソッドを実装します。
$this を返します。
}
パブリック関数 orderBy($orderBy = [])
{
// TODO: orderBy() メソッドを実装します。
$this を返します。
}
パブリック関数持つ($condition = [])
{
// TODO:having() メソッドを実装します。
$this を返します。
}
}
抽象メソッドの具体的な実装では、すべて自身が返されます。
3.现在我在制御器文件里实例化db类,発行通常能调用$this->db->select()->from()->where()->gt ;queryAll();
は問題なく実行されます。queryAll
では操作を実行できます。
< /p>
phpstorm
里面書代的時候,前几个方法,编辑器可智能示唆,但是最后一queryAll
就不提示,この中の 1 つを選択すると、再び提案できるようになります。 イメージとしては、最大で 4 番目の調整のみが提案されます。しかし、私が yii を使用している場合、次の 7 番目の調整も可能です。 >
< /p>
習慣沉默2017-05-16 13:04:23
phpStorm は queryAll メソッドの戻り値を認識できず、プロンプトを表示できません。
注釈を追加すると、phpstorm は自動的に認識できるようになります