PHPに静的関数があります:
public static function func( $foo, $bar ) {
}
ここ$bar
で、は整数です。同様の実装をしたいのですが、文字列はfunc
どこにありますか$bar
。C ++ではオーバーロードを使用しますが、PHPのドキュメントには、オーバーロードはC++と同じようには機能しないことが示されています。私が望むことを達成することができる他の方法はありますか?
私が考えた1つの代替案は、いくつかのポリモーフィズムですが、それは一種のやり過ぎのようです?:
定義された(実装なしの)インターフェースを作成しfunc
、2つの異なる方法で実装します。それで:
interface Something {
public static function func( $foo, $bar );
}
class Something1 implements Something {
public static function func( $foo, $bar ) {
// some implementation
}
}
class Something2 implements Something {
public static function func( $foo, $bar ) {
// some other implementation
}
}
どうもありがとう。