> For the complete documentation index, see [llms.txt](https://akyos.gitbook.io/book/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://akyos.gitbook.io/book/wordpress/guides/creer-un-composer.md).

# Créer un composer

Un Composer est un contrôleur qui permet de donner à des vues des variables ou des fonctions à utiliser

{% stepper %}
{% step %}

### Utilisez la commande

Utilisez la commande suivante :&#x20;

`wp acorn make:composer`
{% endstep %}

{% step %}

### Donner les vues qui seront servis par le Composer

Dans la variable `$views` définissez les vues qui auront accès aux variables/fonctionnalités du Composer

```php
protected static $views = [
        'sections.header',
    ];
```

{% endstep %}

{% step %}

### Fonction with()

La fonction `with()` est la fonction qui va retourner les variables à la vue. Elle retourne un tableau où la clé est le nom de la variable

```php
public function with()
    {
        return [
            'header_button' => options('header_button'),
            'onlyBurger' => get_field('only_burger', 'option'),
            'search' => get_field('header_search', 'option'),
            'social' => get_field('header_social', 'option'),
            'hover' => get_field('hover', 'option'),
            'transparent' => (get_field('header_transparent', 'option') == 1) ? 'transparent' : '',
            'burgerBreakpoint' => get_field('burger_breakpoint', 'option'),
        ];
    }
```

{% endstep %}

{% step %}

### Fonctions personnalisées

En plus des variables, on peut servir des fonctions à une vue depuis le Composer.

Pour cela, il faut préfixer la fonction avec `static`

```php
public static function is_home()
{
    return is_front_page();
}
```

{% endstep %}
{% endstepper %}
