Phpro\SoapClient\CodeGenerator\Assembler\ConstructorAssembler::assemble PHP Méthode

assemble() public méthode

public assemble ( Phpro\SoapClient\CodeGenerator\Context\ContextInterface $context )
$context Phpro\SoapClient\CodeGenerator\Context\ContextInterface
    public function assemble(ContextInterface $context)
    {
        $class = $context->getClass();
        $type = $context->getType();
        try {
            $class->removeMethod('__construct');
            $constructor = $this->assembleConstructor($type);
            $class->addMethodFromGenerator($constructor);
        } catch (\Exception $e) {
            throw AssemblerException::fromException($e);
        }
    }

Usage Example

    /**
     * @test
     */
    function it_assembles_a_type()
    {
        $assembler = new ConstructorAssembler();
        $context = $this->createContext();
        $assembler->assemble($context);
        $code = $context->getClass()->generate();
        $expected = <<<CODE
namespace MyNamespace;

class MyType
{

    /**
     * Constructor
     *
     * @var string \$prop1
     * @var int \$prop2
     */
    public function __construct(\$prop1, \$prop2)
    {
        \$this->prop1 = \$prop1;
        \$this->prop2 = \$prop2;
    }


}

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