public function generate() : string
    {
        $buffer = "<?php\n\n";

        // add namespace if needed
        if (!is_null($this->containerNamespace))
        {
            $buffer .= "namespace " . $this->containerNamespace . ";\n\n";
        }

        // add use statement for the super container
        $aliasContainerName = 'ClanCatsContainer' . md5($this->containerName);
        $buffer .= "use " . Container::class . " as " . $aliasContainerName . ";\n\n";

        // generate the the class
        $buffer .= "class $this->containerClassName extends $aliasContainerName {\n\n";

        $buffer .= $this->generateParameters() . "\n";
        $buffer .= $this->generateMetaData() . "\n";
        $buffer .= $this->generateResolverTypes() . "\n";
        $buffer .= $this->generateResolverMappings() . "\n";
        $buffer .= $this->generateResolverMethods() . "\n";

        return $buffer . "\n}";
    }
public function generate() : string
    {
        $buffer = "<?php\n\n";

        // add namespace if needed
        if (!is_null($this->containerNamespace))
        {
            $buffer .= "namespace " . $this->containerNamespace . ";\n\n";
        }

        // add use statement for the super container
        $aliasContainerName = 'ClanCatsContainer' . md5($this->containerName);
        $buffer .= "use " . Container::class . " as " . $aliasContainerName . ";\n\n";

        // generate the the class
        $buffer .= "class $this->containerClassName extends $aliasContainerName {\n\n";

        $buffer .= $this->generateParameters() . "\n";
        $buffer .= $this->generateMetaData() . "\n";
        $buffer .= $this->generateResolverTypes() . "\n";
        $buffer .= $this->generateResolverMappings() . "\n";
        $buffer .= $this->generateResolverMethods() . "\n";

        return $buffer . "\n}";
    }
public function generate ( ) : string { $ buffer = "<?php\n\n" ; // add namespace if needed if ( ! is_null ( $ this -> containerNamespace ) ) { $ buffer .= "namespace " . $ this -> containerNamespace . ";\n\n" ; } // add use statement for the super container $ aliasContainerName = 'ClanCatsContainer' . md5 ( $ this -> containerName ) ; $ buffer .= "use " . Container :: class . " as " . $ aliasContainerName . ";\n\n" ; // generate the the class $ buffer .= "class $this->containerClassName extends $aliasContainerName {\n\n" ; $ buffer .= $ this -> generateParameters ( ) . "\n" ; $ buffer .= $ this -> generateMetaData ( ) . "\n" ; $ buffer .= $ this -> generateResolverTypes ( ) . "\n" ; $ buffer .= $ this -> generateResolverMappings ( ) . "\n" ; $ buffer .= $ this -> generateResolverMethods ( ) . "\n" ; return $ buffer . "\n}" ; }
Generate the container class code string

@return string
Generate the container class code string