找一大圈原因, 最后终于找到了, 不是PHP版本的原因[], 是自己把use 写到了类里的方法里了.
这个东东, 不能脱离类单独使用, 否则的话, 会被认为是命名空间了.
测试例子如下
// Trait.phptrait CustomerFunctionsTrait { public function plus ( $a = 1, $b = 1 ) { echo $a + $b; } public function minus ( $a = 5, $b = 1 ) { echo $a - $b; } }// Test.phpinclude './Trait.php';class MyTest { use CustomerFunctionsTrait; public function plus () { // use CustomerFunctionsTrait; //这是我错的地方, 把use 写到方法体里了 - -!! echo 'str'; }}$n = new MyTest;$n->minus();