Local Setup
Prerequisites
| Requirement | Details |
|---|---|
| PHP | 7.3 |
| Composer | v1 (the project uses Composer v1) |
| Database | MySQL or MariaDB |
| Git | Access to axelites/logidav on GitHub |
Installation
# Clone the repository
git clone git@github.com:axelites/logidav.git
cd logidav
# Install PHP dependencies
composer install
During composer install, Symfony will prompt you to configure app/config/parameters.yml. Fill in your local database credentials and other settings.
:::warning No .env file
Logidav uses Symfony 3.3, which relies on app/config/parameters.yml for environment configuration — not .env files. The parameters.yml file is generated from parameters.yml.dist during composer install.
:::
Database setup
This project does not use Doctrine migrations. Schema changes are applied directly:
# Preview the SQL that would be executed
php bin/console doctrine:schema:update --dump-sql
# Apply the changes (after reviewing the SQL above)
php bin/console doctrine:schema:update --force
:::danger Always review before --force
Run --dump-sql first and review the generated SQL. The --force flag applies changes immediately and cannot be undone.
:::
Common commands
| Task | Command |
|---|---|
| Clear cache | php bin/console cache:clear |
| Run tests | SYMFONY_DEPRECATIONS_HELPER=weak_vendors vendor/bin/simple-phpunit -c phpunit.xml.dist |
| Static analysis | composer phpstan |
| Queue processor | php bin/console meduse:queue:processor --action=runQueues |
| Code formatting | php tools/php-cs-fixer/vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php |
Docs site setup (Docusaurus)
The documentation site is mounted as the docs/ submodule in Logidav:
git submodule update --init --recursive
cd docs
# Install Node dependencies
npm ci
# Start the development server
npm start
# Production build
npm run build
Code validation
Run all three checks before pushing:
# 1. Fix code style
php tools/php-cs-fixer/vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php
# 2. Run static analysis
composer phpstan
# 3. Run tests
SYMFONY_DEPRECATIONS_HELPER=weak_vendors vendor/bin/simple-phpunit -c phpunit.xml.dist
:::tip SYMFONY_DEPRECATIONS_HELPER
The weak_vendors setting suppresses deprecation notices from third-party packages, letting you focus on deprecations in your own code.
:::