# 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;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.one.thezero.club/guide/installation/php-composer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
