如何为所有方法创建一次对象?

I have a code structure like this:

class myclass{

    use App/classes/Log

    public function myfunc1 () {

        $log_obj = new Log;
        $log_obj->log('something1');    

    }
    public function myfunc2 () {

        $log_obj = new Log;  
        $log_obj->log('something2');   

    }
    public function myfunc3 () {

        $log_obj = new Log;  
        $log_obj->log('something3');   

    }
}

In reality, I have 12 methods which I need to make a object of Log class in the most of them. Now I want to know, isn't there any better approach to I do that (making an object) once? For example using a static property and setting the object to it or whatever ..

You can assign the Log instance to a property of your myclass using __construct. Here's an example of accessing a method of a class inside another class:

class Test {
    public $var = 'test';

    public function show_var() {
        echo $this->var;
    }
}

class Test_2 {
    protected $test;

    public function __construct() {
        $this->test = new Test;
    }

    public function show_test() {
        $this->test->show_var();
    }

}

$test_2 = new Test_2;

$test_2->show_test();

See here in action.