2

Yii フレームワークのモデルで 2 つのメソッドをオーバーロードしたいと考えています。

ここで言いたいのは、Java のように、メソッドのオーバーロードの概念があるということは、メソッドは同じ名前ですが、そのメソッドに渡されるパラメーターの数が異なるということです。したがって、これらの同様の概念は、PHP Yii フレームワークのモデル クラスにも適用できます。Yii モデル クラスでは、次のような 2 つのメソッドを作成したいと考えています。

public function test(){ 
   //method logic
}
public function test(int parameters){
  //method logic
}

このような作成は可能ですか?「同じ関数を定義できません」などのエラーが発生します。

4

1 に答える 1

3

あなたが話していることはPHPではサポートされていません。関数の引数でデフォルト値を使用してみることができます。たとえば。

function foo($int_param = 0) // do something

func_get_argsを使用することもできます。パラメータを受け入れないように関数を定義し、func_get_args() を使用して引数を取得します。

これらのアプローチは、実装しようとしている機能に大きな違いがない場合に適しています。

于 2012-04-27T06:05:15.170 に答える