1--TEST-- 2Visibility can be changed with the as aliasing construct as well. 3--FILE-- 4<?php 5error_reporting(E_ALL); 6 7trait HelloWorld { 8 public function sayHello() { 9 echo 'Hello World!'; 10 } 11} 12 13class MyClass { 14 use HelloWorld { sayHello as private sayHelloWorld; } 15 16 public function callPrivateAlias() { 17 $this->sayHelloWorld(); 18 } 19} 20 21$o = new MyClass(); 22$o->sayHello(); 23$o->callPrivateAlias(); 24$o->sayHelloWorld(); 25 26 27?> 28--EXPECTF-- 29Hello World!Hello World! 30Fatal error: Uncaught Error: Call to private method MyClass::sayHelloWorld() from global scope in %s:%d 31Stack trace: 32#0 {main} 33 thrown in %s on line %d 34