Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Setting up a development environment

A development setup for Exponential applications - PHP, Composer and Git, a local install on SQLite, Velocity or the built-in server, development settings, the debug bar, template checks and your extension in its own…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/creators/app-creators/development-environment.md

On this page

Setting up a development environment

This page is for application creators setting up a machine to build on Exponential. The goal: a local installation you can reinstall in minutes, with debugging on and your extension in its own Git repository.

Contents

  1. Tools
  2. A local installation
  3. Serving it
  4. Development settings
  5. Your extension in Git
  6. Daily commands

Tools

ToolVersion
PHP8.0 or newer, for the kernel and for Velocity (from its release 0.0.4.54), with the extensions of 2.3
Composer2.x
Gitany current version (Develop with Git)
A databaseSQLite needs nothing; use the engine of production for integration tests

A local installation

git clone https://github.com/se7enxweb/exponential.git exp-dev
cd exp-dev
composer install
php bin/php/console exp:install --apply --package=sevenx_multisite_clean --url=http://127.0.0.1:8088

SQLite, generated administrator password shown once (The console install). Reinstalling with the same command (--force) gives a clean state in minutes.

Serving it

composer require se7enxweb/exponential-velocity
php bin/php/console exp:velocity config set --apply ServerSettings Engine qbix
php bin/php/console exp:velocity start

Velocity keeps classes in memory: after you add or change a PHP class, exp:velocity restart (or exp:velocity deploy). For quick template work, --engine=php (PHP's built-in server) runs each request fresh (8.3 Velocity).

Development settings

In settings/override/site.ini.append.php of the development machine only:

[TemplateSettings]
DevelopmentMode=enabled
ShowTemplatePathComments=enabled

[DebugSettings]
DebugOutput=enabled

DevelopmentMode makes compiled templates follow their sources and turns the packer off. The debug bar shows queries, templates, settings and timings (Exp debug bar, Debugging and logs). Never copy these settings to production.

Your extension in Git

Keep the application in its own repository, checked out (or symlinked) into extension/<ext>, with its own composer.json so it installs like any extension later (Composer packages and Packagist). Activate it in settings/override/site.ini.append.php:

[ExtensionSettings]
ActiveExtensions[]=expdemo

Daily commands

php bin/php/ezpgenerateautoloads.php -e                  # after adding or renaming a class
php bin/php/ezcache.php --clear-tag=ini --allow-root-user  # after a settings change
php bin/php/eztemplatecheck.php -s<siteaccess> <file.tpl> # template syntax
php -l <file.php>                                        # PHP syntax
php bin/php/console exp:velocity deploy                  # everything, in the right order

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x