Class 'APF\core\logging\Logger' not found

Das Forum ist für das Melden von Bugs gedacht. // This forum is intended to report bugs with the APF.
Gesperrt
apffan200
Beiträge: 41
Registriert: 15.09.2013, 20:22:40

Class 'APF\core\logging\Logger' not found

Beitrag von apffan200 » 29.11.2013, 23:09:43

Hallo Leute,

ich versuche mich gerade wieder am APF :)

Heute wollte ich eine Taglib schreiben, die mit einem Service bestimmte Daten bereitstellt. Eigentlich kein Problem.
Die Taglib ruft in der transform()-Methode mit APFObject::getServiceObject() den Service auf, der mit der Businessschicht kommuniziert. Jetzt kommt aber die Fehlermeldung
Fatal error: Class 'APF\core\logging\Logger' not found in C:\xampp\htdocs\Fatal error: Class 'APF\core\logging\Logger' not found in C:\xampp\htdocs\VENDOR\core\biz\service\MySQLService.php on line 37
.

Jetzt habe ich nach längerer Suche keine passende Lösung gefunden (auf der Migrationsseite im Wiki gings es nur darum, dass man den Vollwertigen Klassenname angeben muss, was ich auch getan habe:

Code: Alles auswählen

$service = &$this->getServiceObject(
	     'VENDOR\core\biz\service\MySQLService',
		 \APF\core\service\APFService::SERVICE_TYPE_SINGLETON
      );
)

Ich kann euch leider nicht mehr Informationen geben, da ich keineswegs zu den APF - Experten gehöre, falls irgendwas fehlt, poste ich das noch.

Schönen Abend noch,
apffan200

apffan200
Beiträge: 41
Registriert: 15.09.2013, 20:22:40

Re: Class 'APF\core\logging\Logger' not found

Beitrag von apffan200 » 30.11.2013, 20:48:57

Hallo Leute,

ich wollte nur sagen, dass das Problem sich gelößt hat.
Ich hab die Methode MySQLService::getAttribute() in MySQLService::getDBAttribute() geändert, woraufhin der Fehler verschwunden ist^^.

Ich wünsche allen noch ein schönes Wochenende,
LG apffan200

Benutzeravatar
dr.e.
Administrator
Beiträge: 4536
Registriert: 04.11.2007, 16:13:53

Re: Class 'APF\core\logging\Logger' not found

Beitrag von dr.e. » 01.12.2013, 16:34:02

Hallo apffan200,

schön dich wieder im APF-Forum begrüßen zu dürfen! :)

Dem Fehler nach zu urteilen wurde irgendwo versucht, den Logger zu nutzen. Dies ist entweder der Fall, wenn du in deinem MySQLService diesen direkt nutzt oder ein beliebiger Fehler auftritt und der Logger im Error- bzw. Exception-Handler genutzt wird.

Grundsätzlich sollte der Code des APF 2.0 stabil sein, um einen Fehler auszuschließen würde ich gerne einen Test durchführen. Kannst du bitte deine Änderungen zu vor deinem letzten Post wieder rückgängug machen und gleichzeitig ErrorHandler und ExceptionHandler wie folgt in der Bootstrap-Datei ausschalten:

Code: Alles auswählen

GlobalErrorHandler::disable();
GlobalExceptionHandler::disable(); 
Spätestens jetzt müsste die eigentliche Ursache zu Tage treten.

Danke für deine Hilfe!

PS: noch ein Hinweis: Bugs werden ab dem Release 2.0 unter http://tracker.adventure-php-framework.org/ gepflegt. Ich würde mich freuen, wenn du beim nächsten Mal den Bug dort einstellst. Dies erleichtert dem Team die Bearbeitung. Danke! :)
Viele Grüße,
Christian

apffan200
Beiträge: 41
Registriert: 15.09.2013, 20:22:40

Re: Class 'APF\core\logging\Logger' not found

Beitrag von apffan200 » 03.12.2013, 19:33:06

Hallo Christian,

sry, ich bin erst jetzt wieder online, da das Thema eigentlich abgehakt war.
Ich bin nun deinen Anweisungen gefolgt. Folgender Fehler kam:
Strict Standards: Declaration of Sententiaregum\core\biz\SEO\SEOMySQLService::getAttribute() should be compatible with APF\core\pagecontroller\APFObject::getAttribute($name, $default = NULL) in C:\xampp\htdocs\Sententiaregum\core\biz\SEO\SEOMySQLService.php on line 26
Mein Interpreter hat wohl erwartet, dass meine Methodendefinition dieselben Parameter wie APFObject::getAttribute() definiere.
Lokal verwende ich PHP 5.5.1

Ich hoffe, ich konnte dir weiterhelfen

LG Maximilian
PS: noch ein Hinweis: Bugs werden ab dem Release 2.0 unter http://tracker.adventure-php-framework.org/ gepflegt. Ich würde mich freuen, wenn du beim nächsten Mal den Bug dort einstellst. Dies erleichtert dem Team die Bearbeitung. Danke! :)
OK, mach ich das nächste mal

Benutzeravatar
dr.e.
Administrator
Beiträge: 4536
Registriert: 04.11.2007, 16:13:53

Re: Class 'APF\core\logging\Logger' not found

Beitrag von dr.e. » 03.12.2013, 20:38:37

Hi Maximilian,

mit dem Fehler lässt sich doch mal was anfangen! ;) Schön, dass du's lösen konntest.
Viele Grüße,
Christian

apffan200
Beiträge: 41
Registriert: 15.09.2013, 20:22:40

Re: Class 'APF\core\logging\Logger' not found

Beitrag von apffan200 » 03.12.2013, 20:58:53

Hallo dr.e.,

dazu noch mal ne Frage: lässt sich das irgendwie umgehen? Dasselbe Problem tritt auf, wenn ich bei einem Service Object der Methode init() einen anderen Parameter verpassen will oder geht das nicht?

LG Maximilian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4536
Registriert: 04.11.2007, 16:13:53

Re: Class 'APF\core\logging\Logger' not found

Beitrag von dr.e. » 03.12.2013, 21:16:47

Hallo Maximilian,

das kannst und sollst du nicht umgehen, da dein Code sonst Signaturen seiner Eltern-Klasse verletzt. Auch wenn PHP schwach typisiert ist, die Signatur von Methoden müssen eingehalten werden.

Sofern du die genannte Signatur trotzdem verwenden möchtest, kannst du auch deine eigene Service-Implementierung basierend auf den Interfaces APFService und APFDIService erstellen. Dann darfst du jedoch nicht mehr von APFObject erben, das die o.g. Methoden in deinen Service vererben. Hinweise dazu findest du u.a. unter http://adventure-php-framework.org/Seit ... FDIService.
Viele Grüße,
Christian

Gesperrt

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast