0

別のメソッド名を使用するだけでこれを回避できることはわかっていますが、次のことが可能かどうかに興味がありました。

私はこのクラスを持っています:(もちろん、いくつかのメソッドがありますが、質問には関係ありません)

class db extends mysqli {
    public function query($sql){
        $sql = $this->parent->query($sql);

        if($this->error){
            echo "<script>popup('SQL error bro!');</script>";
        }else{
            return $sql;
        }
    }
}

私がやりたいことは、作成した query() メソッド内から元の mysqli query() メソッドを呼び出すことです。それは可能ですか、それとも名前の変更を開始しますか?

また、これは純粋に開発用であることを指摘したいと思います。ユーザーが sql エラーを表示することは想定されていません。これを行う理由は、今日、テーブルの列名を id から vid に変更する必要があったためです。その後、システム全体が機能しなくなり、調査に 30 分を費やしました。今後はそれを防ぎたいと思います。

4

3 に答える 3

1

可能ですが、ベスト プラクティスではない可能性があります。

parent::query($sql)
于 2013-06-06T16:14:33.783 に答える
1

変化する

$this->parent->query($sql);

$sql = parent::query($sql);
于 2013-06-06T16:14:46.743 に答える
1

呼び出すことでスーパークラスのメソッドを呼び出すことができます

parent::query();

参照: http://www.php.net/manual/en/keyword.parent.php

于 2013-06-06T16:17:46.190 に答える