PHP: DB-Config-Datei von ZF1 auslesen
Autor: Ralf v.d.Mark
eingetragen: Freitag, 25. Oktober 2019 um 14:18 Uhr (43/2019 Kalenderwoche)
geändert: Donnerstag, 26. März 2020 um 16:14 Uhr (13/2020 Kalenderwoche)
Keywords: config inifile parsen doctrine connection orm_default params autoload global.php
Text:
Für eine native, eigenständige Anwendung die Zugangsdaten aus der
/config/autoload/global.php in ZF2/ZF3 laden.
Anleitung:
Inhalt aus Quellcode in der Datei "classzf1configauslesen.php" speichern
und wie folgt aufrufen:
/** START: DATENBANK INFORMATIONEN **/
require 'classzf1configauslesen.php';
$dbConnectParameters = classzf1configauslesen::getConfigArray('../../application/config/configRESSORT.ini');
//Zum Testen:
echo print_r($dbConnectParameters, true);
Quellcode:
<?php
/**
* Diese Datei enthält eine statischen Methode in einer Klasse,
* mit der man die ZF1-config auslesen kann.
*
* PHP version 7
*
* @name class_zf1config_auslesen.php
* @author Ralf.vonderMark@BLE.de, BLE, Ref. 223 (Entwicklung)
* @copyright 2019, BLE
* @version 25.10.2019, GIT: Yes
*/
class class_zf1config_auslesen
{
public $pathAndFilename2config = false;
public function __construct()
{
$this->pathAndFilename2config;
}//ENDE: public function __construct()
/**
* Gibt die ZF1-Config als Array zurück.
*
* @name methode: getConfigArray()
* @author Ralf von der Mark (vdM), Ref. 223 (Entwicklung), BLE <Ralf.vonderMark@BLE.de>
*
* @param string $pathAndFilename2config
*
* @return array
* @version 25.10.2019, GIT: Yes
*
*/
static public function getConfigArray($pathAndFilename2config)
{
if (!file_exists($pathAndFilename2config)) {
return ['DateiNichtGefunden_546464' =>
'Error 546464: class_zf1config_auslesen::getConfigArray() hat die Datei nicht gefunden!'];
}//ENDE: if (!empty(file_exists($pathAndFilename2config))
$dbConfigZf1Arr = file($pathAndFilename2config);
$dbConfigZf1Bereich = 'ERROR_46464';
$dbConfigZf1 = [];
foreach ($dbConfigZf1Arr as $zeile) {
$zeile = trim($zeile);
if (!empty($zeile)) {
//Wenn getrimmte Zeile gefüllt, dann los...
if (substr($zeile, 0, 1) == '[') {
$dbConfigZf1Bereich = str_replace('[', null,
str_replace(']', null, $zeile));
} else {
$zeileArr = explode('=', $zeile);
if (!empty($zeileArr[1])) {
$dbConfigZf1[$dbConfigZf1Bereich][trim($zeileArr[0])] = str_replace('"', null,
str_replace('\'', null,
trim($zeileArr[1])));
}//ENDE: if (!empty($zeileArr[1])
}//ENDE: else ==> if (!empty($zeile)
}//ENDE: if (!empty($zeile))
}//ENDE: foreach ($dbConfigZf1Arr as $zeile)
if (count($dbConfigZf1) > 0) {
return $dbConfigZf1;
} else {
//Wenn obriges nicht zutrifft, dann ist ein Fehler aufgetreten
return ['KeineWerte_56969' =>
'Error 56969: class_zf1config_auslesen::getConfigArray() hat keine Werte gefunden!'];
}//ENDE: else ==> if (!empty())
}//ENDE: public function methodennname()
}//ENDE: class
//Zum Testen:
//$dbConnectParameters = class_zf1config_auslesen::getConfigArray('../../application/config/_config_RESSORT.ini');
//echo '<pre>'.print_r($dbConnectParameters, true).'</pre>';