# Puppet Class: php::composer

Inherits:
  ::php::params

Defined in:
  manifests/composer.pp

## Overview

Install composer package manager

=== Parameters

[source] Holds URL to the Composer source file

[path] Holds path to the Composer executable

[proxy_type] proxy server type (none|http|https|ftp)

[proxy_server] specify a proxy server, with port number if needed. ie: https://example.com:8080.

[auto_update] Defines if composer should be auto updated

[max_age] Defines the time in days after which an auto-update gets executed

[root_group] UNIX group of the root user

Parameters:

- source (`String`) (defaults to: `$::php::params::composer_source`)
- path (`Stdlib::Absolutepath`) (defaults to: `$::php::params::composer_path`)
- proxy_type (`Any`) (defaults to: `undef`)
- proxy_server (`Any`) (defaults to: `undef`)
- auto_update (`Boolean`) (defaults to: `true`)
- max_age (`Integer`) (defaults to: `$::php::params::composer_max_age`)
- root_group (`Variant[Integer, String]`) (defaults to: `$::php::params::root_group`)

    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    # File 'manifests/composer.pp', line 26

    class php::composer (
      String $source                       = $::php::params::composer_source,
      Stdlib::Absolutepath $path           = $::php::params::composer_path,
      $proxy_type                          = undef,
      $proxy_server                        = undef,
      Boolean $auto_update                 = true,
      Integer $max_age                     = $::php::params::composer_max_age,
      Variant[Integer, String] $root_group = $::php::params::root_group,
    ) inherits ::php::params {

      if $caller_module_name != $module_name {
        warning('php::composer is private')
      }

      archive { 'download composer':
        path         => $path,
        source       => $source,
        proxy_type   => $proxy_type,
        proxy_server => $proxy_server,
      }
      -> file { $path:
        mode  => '0555',
        owner => root,
        group => $root_group,
      }

      if $auto_update {
        class { '::php::composer::auto_update':
          max_age      => $max_age,
          source       => $source,
          path         => $path,
          proxy_type   => $proxy_type,
          proxy_server => $proxy_server,
        }
      }
    }