PHP Klasse verwenden

pb_sergio

Mitglied
Hi

ich habe folgendes Problem:

Ich habe eine Klasse die mir eine .ini Datei einliest und die Daten in Variablen speichert.
Diese Klasse will ich jetzt in einen PHP-Skript verwenden.
Es gibt da aber eine Fehlermeldung: "Cannot redeclare class getini in......".

Das versteht ich nicht so ganz da es in einem anderen Skript !
Ich benutze include(...) um die Klasse benutzen zu können.
Wo ist den der Fehler?Oder habe ich ein Verstämdnisproblem?

Danke für eure Hilfe


pb_sergio
 
Benutz doch statt include mal include_once. Anscheinend wirst du irgendwo mehrere Includes für die Klasse genutzt haben. Mit include_once wird die Datei dann nur neu eingebunden, wenn das nicht schon bereits geschehen ist.
 
Deine Lösung habe ich gerade ausprobiert, hat aber nicht geholfen.

In das php-script binde ich mit include zwei weitere php-scripte ein, die mir vers. Funktionen zur Verfügung stellen. In diesen beiden php-Skripten binde ich wieder mit include_once die PHP-Klasse zum Auslesen der .ini Datei ein. Aber ich bekomme nun die Fehlermeldung "Call to undefined function"

Hast du noch ne Idee?

THX
 
Also ich kann mir jetzt nur vorstellen, dass du deine Includes eher lokal nutzt, also innerhalb von Deklarationen von Funktionen, wobei der eingefügte Code dann nicht mehr außerhalb der Funktionen, Klassen etc. gültig ist. Und include_once wird dann wohl nichts mehr tun, weil der Include schon innerhalb irgendeiner anderen Funktion geschehen ist.

Generell würde ich empfehlen, nötige Includes von Klassen und Funktionen ausschließlich am Anfang der jeweiligen Datei durchzuführen. Ansonsten musst du mal deine ganzen Funktionen und Klassen durchwandern und schauen, wo du dann doch ein include anstatt _once brauchst.
 
Eigentlich habe ich das include immer an den Anfang gesetzt.

Beispiel:
Code:
 test.php:
 <?php
 
 include("function.php");
 
 function xyz();
 {
 
 }
 .......
 ?>
 
 
 function.php
 <?php
 
 include("getIni.php");
 
 function("bla.php");
 {
 
 }
 
 
 ?>

Habe langsam keine Idee mehr. Wollte das Einlesen der ini Datei in einer Klasse kapseln und verschieden Skripten zur Verfügung stellen. Aber irgendwie geht das nicht.
Mein Aufbau it im Prinzip so:

Oberfläche(php) ->Daten(php)->wiederverwertbare Funktionen(php)

ich in includiere in die Oberfläche das Datenskript und in diesem ist wieder das Skript mit den wiederverwertbaren Funktionen includiert.

Das muss doc irgendwie gehen
 
schreib mal in deine getIni.php datei folgendes am anfang der Datei:

PHP:
  if(!class_exists("NameDerClass")) {

und dies an den Schluss:
PHP:
 }

Greatz
 
"Ein blindes Huhn findet auch mal ein Korn".
Hatte irgendwo im Quelltext nen dreher drin den habe ich immer übersehen!
Mein Fehler! Aber nach 8 Std. dauer proggen passiert das schon mal

Danke für eure Hilfe!
 
Zurück