0

関数の呼び出しが OOP でどのように機能するかをよりよく理解したいと思います。次のサンプルがあります。

class SomeClass {
    function __construct(){
        //run function do()
        //run function include()
        //run function run()
    }

    public function do($foo){
        //do some stuff
    }

    public function include(){
        require_once( CONSTANT . 'required.php' );
    }

    public function run(){
        required_func();
    }
}

$load_class = new SomeClass();

required.php で:

function required_func(){

    $customerInfo = "info";
    $customer = $this -> do($customerInfo); //--> This isn't right
    return $customer;
}

私がやろうとしているのは、required_func() に $customerInfo で do() を実行させることです。本質的に:require_onceファイルに含まれる別の関数からクラスのパブリック関数を呼び出す方法は? 私はここで遠く離れていても順調ですか?

ご協力いただきありがとうございます

4

1 に答える 1

1

$this は、関数 required_func() のスコープ外です

class SomeClass {
    function __construct(){
        //run function do()
        //run function include()
        //run function run()
    }

    public function do($foo){
        //do some stuff
    }

    public function include(){
        require_once( CONSTANT . 'required.php' );
    }

    public function run(){
        required_func($this);
    }
}

$load_class = new SomeClass();

function required_func($customerObject){

    $customerInfo = "info";
    $customer = $customerObject->do($customerInfo);
    return $customer;
}
于 2013-04-01T13:21:41.710 に答える