私はこのようなPHPのクラスを持っています:
class RandomNumberStorer{
var $integers = [];
public function store_number($int){
array_push($this->integers, $int);
}
public function run(){
generate_number('store_number');
}
}
...他の場所には、関数をパラメーターとして受け取る関数があります。
function generate_number($thingtoDo){
$thingToDo(rand());
}
したがって、 a を初期化しRandomNumberStorer
て実行します。
$rns = new RandomNumberStorer();
$rns->run();
そして、「未定義関数 store_number への呼び出し」があったというエラーが表示されます。store_number
がクラス内にあることを理解していますRandomNumberStorer
が、それはよりメソッドですが、クラスメソッドをgenerate_number
関数に渡す方法はありますか?
関数をクラスの外に移動しようとしましたstore_number
が、もちろん、$this
クラス/インスタンスのコンテキスト外への参照に関連するエラーが発生します。
RandomNumberStorer
この関数を他の場所で使用しているため、 のインスタンスを外部generate_number
関数に渡すことは避けたいと思います。
これもできますか?私は次のようなものを想定していました:
generate_number('$this->store_number')