Files
screamingFrog/README.md
Martin de4d2e53d9 Reorganize Docker-related files into docker/ directory
Moved Docker infrastructure files to dedicated docker/ folder:
- config/nginx/default.conf → docker/config/nginx/default.conf
- init.sql → docker/init.sql
- start.sh → docker/start.sh (currently unused)

Updated:
- docker-compose.yml: Adjusted volume paths
- README.md: Updated project structure documentation

Benefits:
- Clear separation between infrastructure (docker/) and application (src/)
- Better project organization
- Easier to understand for new developers

Docker Compose and Dockerfile remain in root for convenience.
All services tested and working correctly.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-04 08:31:47 +02:00

2.9 KiB

PHP Docker Anwendung

Eine PHP-Anwendung mit MariaDB, die in Docker läuft.

Anforderungen

  • Docker
  • Docker Compose

Installation & Start

  1. Container starten:
docker-compose up -d
  1. Container stoppen:
docker-compose down
  1. Container neu bauen:
docker-compose up -d --build

Services

Datenbank Zugangsdaten

  • Host: mariadb
  • Datenbank: app_database
  • Benutzer: app_user
  • Passwort: app_password
  • Root Passwort: root_password

Struktur

.
├── docker-compose.yml      # Docker Compose Konfiguration
├── Dockerfile              # PHP Container Image
├── docker/                 # Docker-spezifische Dateien
│   ├── config/
│   │   └── nginx/
│   │       └── default.conf   # Nginx Konfiguration
│   ├── init.sql            # Datenbank Initialisierung
│   └── start.sh            # Container Start-Script (unused)
├── src/                    # Anwendungscode
│   ├── api.php
│   ├── index.php
│   ├── classes/
│   └── crawler-worker.php
├── tests/                  # Test Suite
│   ├── Unit/
│   └── Integration/
├── phpstan.neon            # PHPStan Konfiguration
└── phpcs.xml               # PHPCS Konfiguration

Entwicklung

Die Anwendungsdateien befinden sich im src/ Verzeichnis und werden als Volume in den Container gemountet, sodass Änderungen sofort sichtbar sind.

Tests & Code-Qualität

Unit Tests ausführen

Die Anwendung verwendet PHPUnit für Unit- und Integrationstests:

# Alle Tests ausführen
docker-compose exec php sh -c "php /var/www/html/vendor/bin/phpunit /var/www/tests/"

# Alternative mit Composer-Script
docker-compose exec php composer test

Die Tests befinden sich in:

  • tests/Unit/ - Unit Tests
  • tests/Integration/ - Integration Tests

Statische Code-Analyse mit PHPStan

PHPStan ist auf Level 8 (höchstes Level) konfiguriert und analysiert den gesamten Code:

# PHPStan ausführen
docker-compose exec php sh -c "php -d memory_limit=512M /var/www/html/vendor/bin/phpstan analyse -c /var/www/phpstan.neon"

# Alternative mit Composer-Script
docker-compose exec php composer phpstan

PHPStan Konfiguration:

  • Level: 8 (strictest)
  • Analysierte Pfade: src/ und tests/
  • Ausgeschlossen: vendor/ Ordner
  • Konfigurationsdatei: phpstan.neon

Code Style Prüfung mit PHP_CodeSniffer

PHP_CodeSniffer (PHPCS) prüft den Code gegen PSR-12 Standards:

# Code Style prüfen
docker-compose exec php composer phpcs

# Code Style automatisch korrigieren
docker-compose exec php composer phpcbf

PHPCS Konfiguration:

  • Standard: PSR-12
  • Analysierte Pfade: src/ und tests/
  • Ausgeschlossen: vendor/ Ordner
  • Auto-Fix verfügbar mit phpcbf