> For the complete documentation index, see [llms.txt](https://www.one.thezero.club/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.one.thezero.club/guide/installation/php-composer.md).

# PHP Composer

For those who are already friends with Composer, everything will be clear just by looking at **`composer.json`** file in install root.&#x20;

Also, by overwriting this file on every Zero One update you will always know what version of the Zero One theme you have, and what is the version of some plugins. Unfortunately, not all plugins have Composer support so it is not a complete list.&#x20;

{% hint style="danger" %}
**We don't recommend updating Zero One using PHP Composer, for reasons listed below.**&#x20;
{% endhint %}

### Partial PHP Composer support

Zero One has partial PHP support:

1. Because we don't recommend updating Kirby and plugins to new versions before we test new versions first and create compatibility changes if needed. That way the risk of unintended consequences are minimal
2. Some Zero One plugins are modified versions of original plugins, and shouldn't be ever updated through PHP Composer, for example:
   * Kirby Form Block Suite

Plugins we left in the composer.json file didn't cause issues so far.

### PHP Composer for beginners

**Why use Composer at all?** Well, primarily to update Kirby and plugins easier, and to track their versions. And later when you are comfortable with it, you can use it to add more project dependencies/plugins, just by updating **`composer.json`** file.&#x20;

#### Install Composer on your system

Choose an option depending on what your system is <https://getcomposer.org/download/> and install it.

#### Project install

Go to your local install root, run your terminal there, and run the next command

```
composer install
```

It will add a new **`vendor`** folder to your install root, and add some dependencies in it. It will also update Kirby and some plugins to the required versions. Learn more at <https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies>

After that run command

```
composer update
```

It will update everything to match the versions in **`composer.json`** file. Learn more at <https://getcomposer.org/doc/01-basic-usage.md#updating-dependencies-to-their-latest-versions>

And that's about it.&#x20;
