[OOP] Class not found 8 extends )

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [OOP] Class not found 8 extends )

    Hallo alle zusammen,

    Ich bin gerade dabei das erste mal eine Vererbung wirklich sinnvoll bei mir zu nutzen. Leider kommt es zu einem Fehler:

    Fatal error: Class 'baseElement' not found in ..................

    Kurze Beschreibung:
    Ich habe für verschiedene Elemente eigene Klassen, die für dasjeweilige Element bestimmte Aktionen ausführen. Jedes Element besitzt bestimmte Methoden, die immer wiederkehrend sind. Dadurch möchte ich diese auslagern und in einer Klasse unterbringen, die ich einfach per
    PHP-Code:
    class create_HTML extends baseElement 
    {
    ...

    an jede ElementKlasse vererben möchte.
    Mache ich das "extends baseElement" weg, kommt der Fehler nicht.
    Der Witz ist.... innerhalb meines Elements selbst kann ich ohne weiteres ein Object der Klasse baseElement erstellen lassen.

    Die Classen.php´s werden alle includiert...
    Was mach ich falsch?

    Gruß Mario

  • #2
    Wird denn die Definition von baseElement irgendwo inkludiert?

    Kommentar


    • #3
      [OOP] Vererbung

      Hi pekka,

      Das hier wäre mal meine Struktur:

      MAIN.php
      =>include aller CLASSEN php´s
      =>Es wird ein HauptObject erzeugt.
      ===>In diesem Object erzeuge ich wieder andere Objekte und diese sollen eine Vererbung bekommen.

      Innerhalb der Objekte kann ich komischerweise neue Objekte der Klasse "baseElement" erzeugen. Nur für die Vererbung findet er die Klasse nicht.

      Mario

      Kommentar


      • #4
        Wo und vor allem wann wird die Definition von baseElement inkludiert?
        Wenn Du das als erstes erledigst, müßte es eigentlich klappen!

        Kommentar


        • #5
          [OOP] Vererbung

          Meine KlassenPhp´s werden alle im Header meiner Datei includiert... also noch bevor ich das erste Hauptobjekt erzeuge....

          Was ich eben allerdings mitbekommen habe war, dass ich die Klasse von dem Hauptobjekt, in der ich wiederum die weiteren Objekte mit den Vererbungen erzeugen will, an die inneren Objekte vererben kann... nur halt nichts, was nicht innerhalb meines Hauptobjekts vorhanden ist.

          [EDIT]: Vergiss alles was ich geschrieben habe. Der Fehler muss wo anders liegen. Und zwar kommt der Fehler schon beim Includieren der PHP Dateien mit den Klassen selbst. hää??? Jetzt versteh ich nix mehr....

          Mario
          Zuletzt geändert von GELight; 20.09.2008, 21:04.

          Kommentar


          • #6
            Ich möchte dir SPL-Autoload in Verbindung mit dem Zend/PEAR Benennungsschema empfehlen. Dann bist du das Includewirrwar los...
            Wir werden alle sterben

            Kommentar


            • #7
              Re: [OOP] Vererbung

              Original geschrieben von GELight
              Hi pekka,

              Das hier wäre mal meine Struktur:

              MAIN.php
              =>include aller CLASSEN php´s
              =>Es wird ein HauptObject erzeugt.
              ===>In diesem Object erzeuge ich wieder andere Objekte und diese sollen eine Vererbung bekommen.

              Innerhalb der Objekte kann ich komischerweise neue Objekte der Klasse "baseElement" erzeugen. Nur für die Vererbung findet er die Klasse nicht.

              Mario
              Klasse != Objekt ... was machst du denn eigentlich? Objekt kann nicht vererben, Objekt ist eine Instanz einer Klasse.

              Kommentar


              • #8
                [OOP] Vererbung

                Hi asp2php,

                Sorry, für meine nicht immer korrekten Bezeichnungen.
                Ich hab mein Problem mittlerweile gelöst. Es lag nicht an meiner Logik der Vererbungen oder des Erzeugens der einzelnen Objekte. Das war alles korrekt. Er hatte lediglich die zu vererbende Klasse versucht "nach" der eigentlichen Element KLasse zu includieren. Somit kam es zu der meldung, dass er die baseElement Klasse nicht fand.

                Jetzt ist es mir auch logisch und verständlicher....
                Ich hab meine Datei umbenannt, so das er nun die baseElement Klasse vor den restlichen Element Klassen includiert.

                Gruß Mario

                Kommentar


                • #9
                  Umbenannt? Sinnvollerweise sollte der Dateiname der selber sein wie der Klassenname.

                  Und wenn du Autoload verwenden würdest, dann würdest du dir die haufenweise includes sparen.

                  Kommentar


                  • #10
                    [OOP] Vererbung

                    Hi h3ll,

                    Das werd ich mir mal anschauen mit dem Autoload...
                    Danke für den Tipp.

                    Gruß Mario

                    Kommentar

                    Lädt...
                    X