明らかな何かが欠けている可能性があります。
set メソッドと get メソッドを持つネイティブ クラスがあります。
class DBStorage extends NativeClass{
public function get($key);
public function set($key,value);
}
ほとんどの場合それを使用したいのですが、システム DEBUG フラグをオンにすると。andメソッドを次のようにオーバーロードし
たいと思います。set
get
IF DEBUG IS ON{
class DBStorage extends NativeClass{
public function get($key){
var_dump($key);
parent::get($key);
}
public function set($key,$value){
var_dump($key,$value);
parent::set($key,$value);
}
}
}
NativeClass は C で書かれています。これは拡張機能です (phpredis ですが、関係ありません)。どうすればこれを達成できますか? 私はPHPの5.3ブランチにいます。
確認するために...デバッグがオフの場合、次のDBStorage
ようになります。
class DBStorage extends NativeClass{}
デバッグがオンの場合、次のようになります。
class DBStorage extends NativeClass{
public function get($key){
var_dump($key);
parent::get($key);
}
public function set($key,$value){
var_dump($key,$value);
parent::set($key,$value);
}
}
私はIFの乱雑さを避けようとしています(実際のクラスには数十の関数があります)
public function get($key) {
if (DEBUG) {
var_dump($key);
}
return parent::get($key);
}