public function addTrait($trait)
    {
        if ($this->isTraitDefined($trait) === false) {
            throw Exception\Type::isNotDefined($trait);
        }

        $trait = new Element\ClassTrait($this, $trait);
        $this->classTraits->append($trait);

        return $trait;
    }
public function addTrait($trait)
    {
        if ($this->isTraitDefined($trait) === false) {
            throw Exception\Type::isNotDefined($trait);
        }

        $trait = new Element\ClassTrait($this, $trait);
        $this->classTraits->append($trait);

        return $trait;
    }
public function addTrait ( $ trait ) { if ( $ this -> isTraitDefined ( $ trait ) === false ) { throw Exception \ Type :: isNotDefined ( $ trait ) ; } $ trait = new Element \ ClassTrait ( $ this , $ trait ) ; $ this -> classTraits -> append ( $ trait ) ; return $ trait ; }
Create a new trait

@param $trait

@return Element\ClassTrait
@throws Exception\ClassFile
Create a new trait