Phpro\SoapClient\CodeGenerator\Assembler\TraitAssembler::assemble PHP Метод

assemble() публичный Метод

public assemble ( Phpro\SoapClient\CodeGenerator\Context\ContextInterface $context )
$context Phpro\SoapClient\CodeGenerator\Context\ContextInterface
    public function assemble(ContextInterface $context)
    {
        $class = $context->getClass();
        try {
            $useAssembler = new UseAssembler($this->traitName, $this->traitAlias);
            if ($useAssembler->canAssemble($context)) {
                $useAssembler->assemble($context);
            }
            $traitAlias = $this->traitAlias ?: Normalizer::getClassNameFromFQN($this->traitName);
            $class->addTrait($traitAlias);
        } catch (\Exception $e) {
            throw AssemblerException::fromException($e);
        }
    }

Usage Example

Пример #1
0
    /**
     * @test
     */
    function it_adds_a_trait_with_alias()
    {
        $assembler = new TraitAssembler('\\Namespace\\MyTrait', 'TraitAlias');
        $context = $this->createContext();
        $assembler->assemble($context);
        $code = $context->getClass()->generate();
        $expected = <<<CODE
namespace MyNamespace;

use Namespace\\MyTrait as TraitAlias;

class MyType
{

    use TraitAlias;


}

CODE;
        $this->assertEquals($expected, $code);
    }