Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03188.jsonl.gz/2122

Von externer, eigenständiger PHP-Datei auf die Contao Datenbank zugreifen
von Marco Simbürger
Oft kommt es vor, dass man im Contao-Verzeichnis z.B. eine eigenständige PHP-Datei für einen Cronjob erstellen muss. Die Datei muss jedoch auch Zugriff auf die Datenbank von Contao haben, um irgendwelche Daten auszulesen. Da ist es natürlich unschön, wenn man in dieser eigenständigen PHP-Datei eine eigene Datenbank-Verbindung aufbaut. Man müsste sich dann auch um die Sicherheit usw. selbst kümmern. Wieso also nicht einfach auf die Datenbank-Klasse von Contao zugreifen, die sowieso schon alle Funktionen mit sich bringt?
Ein einfaches Beispiel: wir haben einen Ordner /cronjob in unserem Contao-Root-Verzeichnis. In diesem Ordner befindet sich eine Datei namens index.php. Diese Datei wird per Cronjob jeden Tag ausgeführt und ruft dabei alle Benutzer aus der Datenbank ab. Damit wir auf die Contao-Klasse zugreifen können, rufen wir einfach die initialize.php vom Contao-System auf. Danach haben wir bereits Zugriff auf die Klasse.
/cronjob/index.php
define('TL_MODE', 'FE'); require('../system/initialize.php'); $objResult = Database::getInstance()->prepare("SELECT * FROM tl_member")->execute(); //...