Endlich habe ich es nicht nur geschafft, dass ich Datenbankabfragen in externe Scripte auslagere, sondern ich habe es zudem auch endlich mal begriffen.
Bislang schreibe ich immer alles in ein PHP-Script. Nur die Zugangsdaten für die Datenbankabfrage habe ich bereits vor Jahren ausgelagert und greife über eine include-Anweisung darauf zu.
Nun habe ich zwei weitere Scripte, neben dem DB-Include, erstellt. Im ersten Script wird die Datenbankverbindung aufgebaut, im zweiten Script werden die Datenbankabfragen innerhalb von Funktionen durchgeführt.
Die Funktionsergebnisse kann ich dann im Hauptscript nutzen. Dadurch wird das Hauptscript übersichtlicher.
Mein Vorgehen kommt aus der prozdualen Ecke. Die liegt mir mehr als die objektorientierte Methode. Mir liegt es nicht an Geschwindigkeit, sondern eher am einfachen Erstellen weiterer Script in anderen Projekten.
Und ich bin mir sicher, dass ich noch mehr auslagern kann und der geneigte Fachmann mal wieder einen Schenkelklopfer loslässt. Das ist mir aber egal. Ich habe endlich das, was ich seit langer Zeit brauche. Erweiterungen und Verfeinerungen können irgendwann angeflanscht werden.
Insgesamt gibt es also 4 Scriptdateien:
Datenbankzugangsparameter
Datenbankverbindungsaufbau
Datenbankfunktionen
Mainscript mit Nutzung der Funktionsergebnissen
Ich bin derzeit sehr zufrieden, dass ich nun endlich die Datenbeschaffung und die Datenverwendung trennen kann. Immer alles in einem Script abzuhandeln ist besonders bei umfangreichen Projekten und Scripten sehr anstrengend. Hier kann ich nun sehr viel Übersicht gewinnen und die Pflege des Programmcodes optimieren.
Diese Funktionen setze ich nur auf dem lokalen Rechner ein. Auf meinen externen Webspaces habe ich Datenbanken und damit verbundene Abfragen auf ein Minimum reduziert. Das Umschreiben dieser Script spare ich mir derzeit, bis ich mehr weiß und mehr Sicherheit im Umgang mit derartigem Vorgehen habe.
Bislang schreibe ich immer alles in ein PHP-Script. Nur die Zugangsdaten für die Datenbankabfrage habe ich bereits vor Jahren ausgelagert und greife über eine include-Anweisung darauf zu.
Nun habe ich zwei weitere Scripte, neben dem DB-Include, erstellt. Im ersten Script wird die Datenbankverbindung aufgebaut, im zweiten Script werden die Datenbankabfragen innerhalb von Funktionen durchgeführt.
Die Funktionsergebnisse kann ich dann im Hauptscript nutzen. Dadurch wird das Hauptscript übersichtlicher.
Mein Vorgehen kommt aus der prozdualen Ecke. Die liegt mir mehr als die objektorientierte Methode. Mir liegt es nicht an Geschwindigkeit, sondern eher am einfachen Erstellen weiterer Script in anderen Projekten.
Und ich bin mir sicher, dass ich noch mehr auslagern kann und der geneigte Fachmann mal wieder einen Schenkelklopfer loslässt. Das ist mir aber egal. Ich habe endlich das, was ich seit langer Zeit brauche. Erweiterungen und Verfeinerungen können irgendwann angeflanscht werden.
Insgesamt gibt es also 4 Scriptdateien:
Datenbankzugangsparameter
PHP-Code:
<?php
/* Zugangsparameter */
$host = "localhost";
$user = "user";
$pwd = "passwort";
/* Datenbanken */
$dbname001="datenbank";
/* Tabellen */
$tblname001="user";
$tblname002="userdetail";
$tblname003="session";
?>
Datenbankverbindungsaufbau
PHP-Code:
<?php
include("db_connect.inc.php");
$db = mysqli_connect($host, $user, $pwd, $dbname004);
if(!$db) {
exit("Verbindungsfehler: ".mysqli_connect_error());
}
?>
Datenbankfunktionen
PHP-Code:
<?php
// Der spätere Aufruf ist: php php_test_funktion_slave.php
$query_vg = 0;
// Definition der Funktion, wobei die DB-Verbindung ausgelagert wurde.
function vorgang($db){
include("php_test_funktion_db.php");
$query_vg = mysqli_query($db, "SELECT id, mailadresse, vorname FROM $tblname021 WHERE id >= 35");
return $query_vg;
}
?>
Mainscript mit Nutzung der Funktionsergebnissen
PHP-Code:
<?php
error_reporting(E_ALL);
include("php_test_dbfunktion.php");
// Aufnahme des Funktionsergebnisses
$result_vg = vorgang($query_vg);
// Ausgabe des Funktionsergebnisses
while($row_vg = mysqli_fetch_row($result_vg)) {
echo "<p>Das ist die ID: " . $row_vg[0] . "</p>\n";
}
?>
Ich bin derzeit sehr zufrieden, dass ich nun endlich die Datenbeschaffung und die Datenverwendung trennen kann. Immer alles in einem Script abzuhandeln ist besonders bei umfangreichen Projekten und Scripten sehr anstrengend. Hier kann ich nun sehr viel Übersicht gewinnen und die Pflege des Programmcodes optimieren.
Diese Funktionen setze ich nur auf dem lokalen Rechner ein. Auf meinen externen Webspaces habe ich Datenbanken und damit verbundene Abfragen auf ein Minimum reduziert. Das Umschreiben dieser Script spare ich mir derzeit, bis ich mehr weiß und mehr Sicherheit im Umgang mit derartigem Vorgehen habe.