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