public static function create(array $params = [])
    {
        $assembler = new static();
        if (!empty($params)) {
            array_walk($params, function($v, $k) use ($assembler) {
                $assembler->$k(function() use($v) {return $v;});
            });
            $assembler->assemble();
        }

        return $assembler;
    }
public static function create(array $params = [])
    {
        $assembler = new static();
        if (!empty($params)) {
            array_walk($params, function($v, $k) use ($assembler) {
                $assembler->$k(function() use($v) {return $v;});
            });
            $assembler->assemble();
        }

        return $assembler;
    }
public static function create ( array $ params = [ ] ) { $ assembler = new static ( ) ; if ( ! empty ( $ params ) ) { array_walk ( $ params , function ( $ v , $ k ) use ( $ assembler ) { $ assembler -> $ k ( function ( ) use ( $ v ) { return $ v ; } ) ; } ) ; $ assembler -> assemble ( ) ; } return $ assembler ; }
Static Assembler constructor
Returns a new Assembler

@param array $params Immutable parameters to send into the assembler

@return static
Static Assembler constructor Returns a new Assembler