public function sayHello() { echo 'Hello World!'; } } // Change visibility of sayHello class MyClass1 { use HelloWorld { sayHello as protected; } public function test() { $this->sayHello(); } } // Alias method with changed visibility // sayHello visibility not changed class MyClass2 { use HelloWorld { sayHello as private myPrivateHello; } } $a = new MyClass1(); //$a->sayHello(); // protected, not gonna work $a->test(); echo PHP_EOL; ?>