Sie können eine neue Einstellung in Ihrer settings.local.php
oder Ihrer settings.php
Datei erstellen, wie:
$settings['event_base_url'] = 'https://www.example.com';
oder einige Leute fügen Switch-Block basierend auf dem Server-Host hinzu, z.
switch (@$_SERVER['HTTP_HOST']) {
default:
case 'dev.example.com':
$settings['event_base_url'] = 'http://dev.example.com';
break;
case 'stage.example.com':
$settings['event_base_url'] = 'https://test.example.com';
break;
case 'www.example.com':
case 'preprod.example.com':
$settings['event_base_url'] = 'https://live.example.com';
break;
}
Verweisen Sie dann im Code wie folgt:
use Drupal\Core\Site\Settings;
$baseUrl = Settings::get('event_base_url', '');
Ihr Code würde also so aussehen:
use Drupal\Core\Site\Settings;
class EventSuggestionForm extends FormBase {
private $baseUrl;
private $apiUrl = '/api/v1/';
function __construct() {
// Read value from the settings file.
$this->$baseUrl = Settings::get('event_base_url', '');
}
...
Ändern Sie dann diese Einstellung pro Umgebung in der Einstellungsdatei, ähnlich wie Sie unterschiedliche Datenbankanmeldeinformationen pro Umgebung haben. Dies ist das gleiche Konzept wie für den vorhandenen $settings['file_public_base_url']
Parameter.
$baseUrl
im Konstruktor initialisieren , die Standardwerte für Eigenschaften müssen konstant sein