php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 20-09-2008, 19:30
GELight
 Registrierter Benutzer
Links : Onlinestatus : GELight ist offline
Registriert seit: Sep 2004
Beiträge: 243
GELight ist zur Zeit noch ein unbeschriebenes Blatt
GELight eine Nachricht über ICQ schicken
Standard [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
Mit Zitat antworten
  #2 (permalink)  
Alt 20-09-2008, 20:53
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Wird denn die Definition von baseElement irgendwo inkludiert?
Mit Zitat antworten
  #3 (permalink)  
Alt 20-09-2008, 21:05
GELight
 Registrierter Benutzer
Links : Onlinestatus : GELight ist offline
Registriert seit: Sep 2004
Beiträge: 243
GELight ist zur Zeit noch ein unbeschriebenes Blatt
GELight eine Nachricht über ICQ schicken
Standard [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
Mit Zitat antworten
  #4 (permalink)  
Alt 20-09-2008, 21:07
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Wo und vor allem wann wird die Definition von baseElement inkludiert?
Wenn Du das als erstes erledigst, müßte es eigentlich klappen!
Mit Zitat antworten
  #5 (permalink)  
Alt 20-09-2008, 21:16
GELight
 Registrierter Benutzer
Links : Onlinestatus : GELight ist offline
Registriert seit: Sep 2004
Beiträge: 243
GELight ist zur Zeit noch ein unbeschriebenes Blatt
GELight eine Nachricht über ICQ schicken
Standard [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

Geändert von GELight (20-09-2008 um 22:04 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 20-09-2008, 22:11
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Ich möchte dir SPL-Autoload in Verbindung mit dem Zend/PEAR Benennungsschema empfehlen. Dann bist du das Includewirrwar los...
__________________
Wir werden alle sterben
Mit Zitat antworten
  #7 (permalink)  
Alt 20-09-2008, 22:49
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: [OOP] Vererbung

Zitat:
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.
Mit Zitat antworten
  #8 (permalink)  
Alt 20-09-2008, 23:29
GELight
 Registrierter Benutzer
Links : Onlinestatus : GELight ist offline
Registriert seit: Sep 2004
Beiträge: 243
GELight ist zur Zeit noch ein unbeschriebenes Blatt
GELight eine Nachricht über ICQ schicken
Standard [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
Mit Zitat antworten
  #9 (permalink)  
Alt 20-09-2008, 23:36
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.604
h3ll befindet sich auf einem aufstrebenden Ast
Standard

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.
Mit Zitat antworten
  #10 (permalink)  
Alt 20-09-2008, 23:47
GELight
 Registrierter Benutzer
Links : Onlinestatus : GELight ist offline
Registriert seit: Sep 2004
Beiträge: 243
GELight ist zur Zeit noch ein unbeschriebenes Blatt
GELight eine Nachricht über ICQ schicken
Standard [OOP] Vererbung

Hi h3ll,

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

Gruß Mario
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:27 Uhr.