Downloading and Installing Containers
Apiato provides an easy-to-use solution for downloading, installing and continuously updating containers from 3rd party developers.
As an application developer, you simply need to include the respective
vendor/project to the
For example, your
/composer.json file may look something like this:
You just need to call
composer update in order to install the respective packages. The package (e.g., the container)
apiato/settings-container is then installed to the
app/Containers/Vendor folder. However, the developer of the package
needs to follow some basic guidelines listed below.
Do not modify content within a downloaded container, as it will be overwritten if you call
To modify the code of this container usually you just need to copy the container to
(or any of your custom sections) and update the namespaces. (See each container documentation for more details)
Developing a Container
Developing a container that can be used by others is quite easy. Basically, you can
extract already existing functionality
in a new container and provide the features. Note that you need to upload the container to
GitHub and then release
Packagist in order for it to be available via
Composer. Please see a respective tutorial how to submit a package
GitHub and release it via
In particular, the only thing that needs to be done, when developing a container is to provide a specific
file within the main folder of the container.
An example of such a
composer.json file is shown below:
"description": "This is a short description for your container.",
"type": "apiato-container", // you must set the type to "apiato-container" here.
"somevendor/somepackage" : "dev-master"
// some other requirements here
"name": "Foo" // The name of the container within the /app/Containers/Vendor folder
- You must add the respective
type : apiato-containerto the composer file. This way, the custom installer is used that allows installing/updating containers.
- You must provide the key
extra.apiato.container.name. This key indicates the name of the folder (e.g., container) when installing the package to the
/app/Containers/Vendorfolder. In the shown example, the container would be installed to