Compõe uma classe

# uopz_compose

(PECL uopz 1, PECL uopz 2)

uopz_compose — Compõe uma classe

Aviso

Esta função foi REMOVIDA na uopz 5.0.0 no PECL.

### Descrição

function uopz_compose(
string `$name`,
array `$classes`,
array `$methods` = ?,
array `$properties` = ?,
int `$flags` = ?
): void

Cria uma nova classe com o nome fornecido que implementa, estende ou usa todas as classes fornecidas.

### Parâmetros

`name`

  Um nome de classe válido.

`classes`

  Um array de nomes de classes, interfaces e traits.

`methods`

  Um array associativa de métodos, os valores são Closures ou [modificadores => Closure].

`properties`

  Um array associativa de propriedades, chaves são nomes, valores são modificadores.

`flags`

  Tipo da entrada, por padrão ZEND_ACC_CLASS.

### Valor Retornado

### Exemplos

Exemplo #1 Exemplo de uopz_compose()

    <?php
    class myClass {}
    trait myTrait {}
    interface myInterface {}

    uopz_compose(
        Composed::class, [
            myClass::class,
            myTrait::class,
            myInterface::class
        ], [
        "__construct" => function() {
            /* ... */
        }
    ]);

    var_dump(
     class_uses(Composed::class),
     class_parents(Composed::class),
     class_implements(Composed::class));
    ?>

O exemplo acima produzirá:

    array(1) {
      ["myTrait"]=>
      string(7) "myTrait"
    }
    array(1) {
      ["myClass"]=>
      string(7) "myClass"
    }
    array(1) {
      ["myInterface"]=>
      string(11) "myInterface"
    }

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open