- Add DISCOVERY_LOG_LEVEL=debug - Add DISCOVERY_SHOW_PROGRESS=true - Temporary changes for debugging InitializerProcessor fixes on production
215 lines
6.1 KiB
Markdown
215 lines
6.1 KiB
Markdown
# Konfiguration
|
|
|
|
Diese Anleitung erklärt, wie Sie das Framework nach der Installation konfigurieren können.
|
|
|
|
## Umgebungsvariablen
|
|
|
|
Die Hauptkonfiguration des Frameworks erfolgt über Umgebungsvariablen, die in der `.env`-Datei definiert sind. Wenn Sie das Framework gerade installiert haben, sollten Sie eine Kopie der `.env.example`-Datei erstellt und in `.env` umbenannt haben.
|
|
|
|
### Wichtige Umgebungsvariablen
|
|
|
|
Hier sind die wichtigsten Umgebungsvariablen, die Sie konfigurieren sollten:
|
|
|
|
#### Anwendung
|
|
|
|
```
|
|
APP_NAME="Meine Anwendung"
|
|
APP_ENV=development
|
|
APP_DEBUG=true
|
|
APP_URL=http://localhost:8000
|
|
APP_KEY=base64:...
|
|
```
|
|
|
|
- `APP_NAME`: Der Name Ihrer Anwendung
|
|
- `APP_ENV`: Die Umgebung, in der die Anwendung läuft (`development`, `testing` oder `production`)
|
|
- `APP_DEBUG`: Ob Debug-Informationen angezeigt werden sollen (`true` oder `false`)
|
|
- `APP_URL`: Die Basis-URL Ihrer Anwendung
|
|
- `APP_KEY`: Der Verschlüsselungsschlüssel für Ihre Anwendung (wird automatisch generiert)
|
|
|
|
#### Datenbank
|
|
|
|
```
|
|
DB_CONNECTION=mysql
|
|
DB_HOST=127.0.0.1
|
|
DB_PORT=3306
|
|
DB_DATABASE=framework
|
|
DB_USERNAME=root
|
|
DB_PASSWORD=
|
|
```
|
|
|
|
- `DB_CONNECTION`: Der Datenbanktyp (`mysql`, `sqlite`, `pgsql` oder `sqlsrv`)
|
|
- `DB_HOST`: Der Hostname des Datenbankservers
|
|
- `DB_PORT`: Der Port des Datenbankservers
|
|
- `DB_DATABASE`: Der Name der Datenbank
|
|
- `DB_USERNAME`: Der Benutzername für die Datenbankverbindung
|
|
- `DB_PASSWORD`: Das Passwort für die Datenbankverbindung
|
|
|
|
#### Cache und Sitzungen
|
|
|
|
```
|
|
CACHE_DRIVER=file
|
|
SESSION_DRIVER=file
|
|
SESSION_LIFETIME=120
|
|
```
|
|
|
|
- `CACHE_DRIVER`: Der Cache-Treiber (`file`, `redis` oder `memory`)
|
|
- `SESSION_DRIVER`: Der Sitzungstreiber (`file`, `database` oder `redis`)
|
|
- `SESSION_LIFETIME`: Die Lebensdauer der Sitzung in Minuten
|
|
|
|
#### E-Mail
|
|
|
|
```
|
|
MAIL_DRIVER=smtp
|
|
MAIL_HOST=smtp.mailtrap.io
|
|
MAIL_PORT=2525
|
|
MAIL_USERNAME=null
|
|
MAIL_PASSWORD=null
|
|
MAIL_ENCRYPTION=null
|
|
MAIL_FROM_ADDRESS=null
|
|
MAIL_FROM_NAME="${APP_NAME}"
|
|
```
|
|
|
|
- `MAIL_DRIVER`: Der E-Mail-Treiber (`smtp`, `sendmail` oder `log`)
|
|
- `MAIL_HOST`: Der Hostname des SMTP-Servers
|
|
- `MAIL_PORT`: Der Port des SMTP-Servers
|
|
- `MAIL_USERNAME`: Der Benutzername für die SMTP-Verbindung
|
|
- `MAIL_PASSWORD`: Das Passwort für die SMTP-Verbindung
|
|
- `MAIL_ENCRYPTION`: Die Verschlüsselungsmethode (`tls` oder `ssl`)
|
|
- `MAIL_FROM_ADDRESS`: Die Absenderadresse
|
|
- `MAIL_FROM_NAME`: Der Absendername
|
|
|
|
## Konfigurationsdateien
|
|
|
|
Neben den Umgebungsvariablen verwendet das Framework auch Konfigurationsdateien im Verzeichnis `config/`. Diese Dateien enthalten Konfigurationen, die nicht über Umgebungsvariablen gesteuert werden sollten oder komplexere Strukturen erfordern.
|
|
|
|
### Wichtige Konfigurationsdateien
|
|
|
|
#### app.php
|
|
|
|
Die Datei `config/app.php` enthält allgemeine Anwendungskonfigurationen:
|
|
|
|
```php
|
|
return [
|
|
'name' => env('APP_NAME', 'Framework'),
|
|
'env' => env('APP_ENV', 'production'),
|
|
'debug' => env('APP_DEBUG', false),
|
|
'url' => env('APP_URL', 'http://localhost'),
|
|
'timezone' => 'UTC',
|
|
'locale' => 'de',
|
|
'fallback_locale' => 'en',
|
|
'key' => env('APP_KEY'),
|
|
'cipher' => 'AES-256-CBC',
|
|
'providers' => [
|
|
// Service-Provider
|
|
],
|
|
'aliases' => [
|
|
// Fassaden
|
|
],
|
|
];
|
|
```
|
|
|
|
#### database.php
|
|
|
|
Die Datei `config/database.php` enthält Datenbankkonfigurationen:
|
|
|
|
```php
|
|
return [
|
|
'default' => env('DB_CONNECTION', 'mysql'),
|
|
'connections' => [
|
|
'sqlite' => [
|
|
'driver' => 'sqlite',
|
|
'database' => env('DB_DATABASE', database_path('database.sqlite')),
|
|
'prefix' => '',
|
|
],
|
|
'mysql' => [
|
|
'driver' => 'mysql',
|
|
'host' => env('DB_HOST', '127.0.0.1'),
|
|
'port' => env('DB_PORT', '3306'),
|
|
'database' => env('DB_DATABASE', 'forge'),
|
|
'username' => env('DB_USERNAME', 'forge'),
|
|
'password' => env('DB_PASSWORD', ''),
|
|
'charset' => 'utf8mb4',
|
|
'collation' => 'utf8mb4_unicode_ci',
|
|
'prefix' => '',
|
|
'strict' => true,
|
|
'engine' => null,
|
|
],
|
|
// Weitere Datenbankverbindungen
|
|
],
|
|
'migrations' => 'migrations',
|
|
'redis' => [
|
|
'client' => 'predis',
|
|
'default' => [
|
|
'host' => env('REDIS_HOST', '127.0.0.1'),
|
|
'password' => env('REDIS_PASSWORD', null),
|
|
'port' => env('REDIS_PORT', 6379),
|
|
'database' => 0,
|
|
],
|
|
],
|
|
];
|
|
```
|
|
|
|
#### cache.php
|
|
|
|
Die Datei `config/cache.php` enthält Cache-Konfigurationen:
|
|
|
|
```php
|
|
return [
|
|
'default' => env('CACHE_DRIVER', 'file'),
|
|
'stores' => [
|
|
'file' => [
|
|
'driver' => 'file',
|
|
'path' => storage_path('framework/cache'),
|
|
],
|
|
'redis' => [
|
|
'driver' => 'redis',
|
|
'connection' => 'default',
|
|
],
|
|
'memory' => [
|
|
'driver' => 'memory',
|
|
],
|
|
],
|
|
'prefix' => env('CACHE_PREFIX', 'framework_cache'),
|
|
];
|
|
```
|
|
|
|
## Benutzerdefinierte Konfiguration
|
|
|
|
Sie können auch eigene Konfigurationsdateien erstellen, um anwendungsspezifische Einstellungen zu speichern. Erstellen Sie dazu eine neue Datei im Verzeichnis `config/` und geben Sie ein Array zurück:
|
|
|
|
```php
|
|
// config/myapp.php
|
|
return [
|
|
'feature_flags' => [
|
|
'new_ui' => env('FEATURE_NEW_UI', false),
|
|
'api_v2' => env('FEATURE_API_V2', false),
|
|
],
|
|
'limits' => [
|
|
'max_items' => 100,
|
|
'max_file_size' => 10 * 1024 * 1024, // 10 MB
|
|
],
|
|
];
|
|
```
|
|
|
|
Sie können dann auf diese Konfiguration zugreifen mit:
|
|
|
|
```php
|
|
$newUiEnabled = config('myapp.feature_flags.new_ui');
|
|
$maxItems = config('myapp.limits.max_items');
|
|
```
|
|
|
|
## Umgebungsspezifische Konfiguration
|
|
|
|
Das Framework unterstützt umgebungsspezifische Konfigurationen. Sie können verschiedene `.env`-Dateien für verschiedene Umgebungen erstellen:
|
|
|
|
- `.env` - Standardkonfiguration
|
|
- `.env.development` - Entwicklungsumgebung
|
|
- `.env.testing` - Testumgebung
|
|
- `.env.production` - Produktionsumgebung
|
|
|
|
Um eine bestimmte Umgebungskonfiguration zu laden, setzen Sie die Umgebungsvariable `APP_ENV` auf den entsprechenden Wert.
|
|
|
|
## Nächste Schritte
|
|
|
|
Nachdem Sie das Framework konfiguriert haben, können Sie mit den [ersten Schritten](first-steps.md) fortfahren, um Ihre erste Anwendung zu erstellen.
|