Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Klasse in include-Datei instanzieren

  1. #1
    Großmeister(in)
    Registriert seit
    31.10.2005
    Ort
    Bei Muddi, wo sonst
    Beiträge
    524
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Klasse in include-Datei instanzieren

    Hallo,

    ich habe eine XML-Datei aus der Sprachelemente für eine Website geladen werden.
    Nun gibt es eine Datei die eingebunden werden soll über include/require. Dort wird die Klasse für das Auslesen der XML Datei ebenfalls benötigt.
    Wenn ich nun in der einzubindenden Datei die Klasse instanziere (in der "Hauptdatei" ist sie schon instanziert), dann bekomme ich die Fehlermeldung, dass die Klasse nicht redeclared werden kann. Tue ich das aber nicht, dann kommt die Fehlermeldung "Call to a member function GetItem() on a non-object", das Objekt existiert also dann anscheinend nicht.

    Wie kann ich das Problem lösen?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Viele Grüße

    Mir nicht

  2. #2
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Zeig mal den Quellcode, ich tippe auf einen Fehler, dass du da ne falsche Referenz setzt.
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  3. #3
    Großmeister(in)
    Themenstarter

    Registriert seit
    31.10.2005
    Ort
    Bei Muddi, wo sonst
    Beiträge
    524
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Naja OK, wenn du denkst, dass es was bringt:

    Für die Datei in die included wird:
    Code:
    include("inc/global.inc.php");
    include("inc/i18n.php");
    
    $saxParser = new SaxParser();
    $saxParser->parse( $_SESSION['country_code'], "inc/dtnet_lang.xml" );
    Für die Datei die included wird (global.inc.php):
    Code:
    include("i18n.php");
    
    $saxParser = new SaxParser();
    $saxParser->parse( $_SESSION['country_code'], "inc/dtnet_lang.xml" );
    Wie du sehen kannst, liegt sowohl die Datei global.inc.php, als auch die I18N.php im Ordner /inc/

    Ich weiß ja, dass eine Datei nur einmal included werden kann, aber es funktioniert so oder so nicht.
    Viele Grüße

    Mir nicht

  4. #4
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    du weißt schon, dass
    du in der Datei genau das gleiche machst, wie in global.inc.php , also warum das ganze?
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  5. #5
    Großmeister(in)
    Themenstarter

    Registriert seit
    31.10.2005
    Ort
    Bei Muddi, wo sonst
    Beiträge
    524
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Das ist ja nicht alles was ich in der global.inc mache.
    Nur handelt es sich dabei um Dateien aus meiner Firma und da kann ich leider nicht mehr posten. Aber ich denke das war das was du gemeint hat. Mehr musst du doch eigentlich nicht wissen oder?
    Viele Grüße

    Mir nicht

  6. #6
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Du musst in der index.php oder whatever das:

    include("inc/i18n.php");

    $saxParser = new SaxParser();
    $saxParser->parse( $_SESSION['country_code'], "inc/dtnet_lang.xml" );

    rausnehmen, denn du deklarierst ja doppelt und wenn du $saxParser in der zwischenzeit nicht verändert hast, bzw, wenn du das ganze neu haben musst, dann nimm eine neue Variable
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  7. #7
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    bzw prüfe ob sie nicht schon vergeben wurde.. dann einfach nur inlcluden und ausführen wenn.

  8. #8
    Großmeister(in)
    Themenstarter

    Registriert seit
    31.10.2005
    Ort
    Bei Muddi, wo sonst
    Beiträge
    524
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    @ K.Y.L.T.
    OK danke erstmal für den Tipp.
    Das hatte ich glaube ich schon mal probiert.
    Wäre ja auch irgendwie logisch, nur leider kommt immer noch in der global.inc die Fehlermeldung Call to a member function GetItem() on a non-object

    @Rover
    Ja aber das ist doch bei der variablen eigentlich egal. Außerdem funktioniert es ja nur eben in der global.inc nicht.
    Viele Grüße

    Mir nicht

  9. #9
    Shogun Avatar von DarkSyranus
    Registriert seit
    28.03.2006
    Ort
    ::1/128
    Alter
    25
    Beiträge
    3.446
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    Ähm, mal so als Zwischenfrage.
    Wenn du in der global.inc.php die i18n.php includierst und in der anderen die global.inc.php includierst, warum musst du dann noch mal die i18n.php includieren.
    Das macht eigentlich keinen Sinn.

    Lass mal das include("inc/i18n.php"); in der includierenden Datei weg, was passiert dann genau?

  10. #10
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Zitat Zitat von K.Y.L.T.
    du weißt schon, dass
    du in der Datei genau das gleiche machst, wie in global.inc.php , also warum das ganze?

    Zitat Zitat von K.Y.L.T.
    denn du deklarierst ja doppelt
    I' ve mentioned it .
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

Ähnliche Themen

  1. include in include (mehrfach) - Hilfe!
    Von maciwa im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 30.03.2008, 14:04
  2. Klasse 9
    Von im Forum Off Topic und Quasselbox
    Antworten: 2
    Letzter Beitrag: 14.12.2007, 13:31
  3. Wie include ich eine php Datei in einer .tpl-Datei?
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 6
    Letzter Beitrag: 23.02.2007, 04:06
  4. Problem mit Klasse
    Von renhe78 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 10
    Letzter Beitrag: 29.10.2006, 14:47
  5. BBCode Klasse
    Von No0ob im Forum Script-Archiv
    Antworten: 0
    Letzter Beitrag: 05.08.2006, 21:52

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •