使用 trait 时报PHP Parse error: syntax error, unexpected 'use' (T_USE) 这个错误

找一大圈原因, 最后终于找到了, 不是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();

 

posted @ 2015-01-17 18:21  Debm.Zhang  阅读(6516)  评论(0编辑  收藏  举报