Setup for module development

Development in Framelix is basically split into modules. One application as just one module, by default. So, here we are showing you how you setup for your first application module in Framelix. Framelix has a docker image that is ready to kickstart and what contains everything you need to begin developing.

Requirements

You need Docker installed.
On Windows you need to run everything inside WSL. It is recommended to use the Ubuntu image for WSL with Docker Desktop installed.

Setup

Create an empty folder somewhere and open a command line to it.
Run the following commands. This will start the Framelix container and extract you the core and a starter module from the image, to provide you full autocompletion support and a minimal module to start with.

Get your docker-compose.yml

At first you need a docker-compose.yml. Click the button bellow to generate one

Click here to create your docker-compose.yml

Start container

The code bellow extract the code for the Framelix (Core) and FramelixStarter module from the docker image to your appdata directory. The module Framelix is by default "read-only" (It is not mapped from host to container). It is only for your IDE auto-completion in the first place. If you want quick hack into the core, just uncomment the prepared mapping line in docker-compose.yml. However, if you want help develop the core itself, head to this page.

Copy to clipboardDownload as file

Recommendations

Our favorite IDE is PhpStorm and Framelix is basically developed only with this. It provides industry leading autocompletion and so many other features, which makes development so much faster and easier. We are not affiliated with this IDE or company, it's just our recommendation.

Get older version of this docs

We guess you only will need older docs when you actually using older versions of Framelix. For this, all Framelix docker images have the corresponding docs fully integrated. All you need to do is to enable them on a port, to be accessable. Use the docker-compose generator above to get a docker-compose.yml where the docs module is enabled and accessable. At the end, just modify the version to your needs in the final generated .yml file and start the project.