phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2114
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von LukeWCS »

Mike-on-Tour hat geschrieben: 01.02.2020 14:27 Durfte die Ergebnisse des ExtCheck ja auch nutzen und bin begeistert, hier bekommt man konzentriert und übersichtlich alles angezeigt, was EPV und CodeSniffer an Fehlern und Warnungen ausgeben und kann sich dann ans Abarbeiten der notwendigen Korrekturen machen.
Danke :)

Gerade wenn man noch nicht lange als Coder in der phpBB Umgebung unterwegs ist, hat man schon genug Herausforderungen zu meistern. Da braucht niemand komplizierte Tools und unverständliche Informationen die einem das Leben noch zusätzlich schwer machen. :wink:
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2114
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von LukeWCS »

Ein grösseres Update eben installiert. Primäre Änderung bei v0.9.0: Speicherfunktion für den Bericht für die lokale Archivierung. Damit kann ausserdem jetzt auch bei Edge gespeichert werden. Details wie immer im Changelog.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
HJW
Mitglied
Beiträge: 1291
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von HJW »

Hallo,

habe meine Calendar-Extension jetzt weitestgehend überarbeiten. Ich habe aber noch zwei Meldungen mit denen ich nicht klar komme. Zum 1. gibt es eine Warnung vom Extension Pre Validator:
Running Extension Pre Validator on directory ext.
Running tests.

Validation: FAILED
Fatal: 0, Error: 0, Warning: 1, Notice: 0

Test results for extension:
Warning: IN_PHPBB is not defined in /hjw/calendar/event/main_listener.php
Ich dachte IN_PHPBB wird von der Foren-Software beim Start definiert. Muss ich da noch etwas tun, damit die Variable in der Extension zur Verfügung steht?

@ gn#36

Ich habe ja einen Code für deine hookup-Ext eingefügt:

Code: Alles auswählen

				$vars = array(
					'sql_ary',
					'user_id',
				);

				extract($this->phpbb_dispatcher->trigger_event('hjw.calendar.viewtopic.modify_participants_list', compact($vars)));
Das ergibt dann folgende Meldung:
Fatal error: Can not find '$vars = array();'-line for event 'hjw.calendar.viewtopic.modify_participants_list' in file '/hjw/calendar/event/main_listener.php:738'. Are you using UNIX style linefeeds?
Hast du eine Idee, wie ich die Fehlermeldung vermeiden kann?
Den aktuelle Code gibt es hier: http://calendar.zoo-am-ring.de/extensions/hjw.zip
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1075
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von Mike-on-Tour »

Hallo HJW,
du hast in deiner main_listener.php ab Zeile 12 folgenden Code drin stehen:

Code: Alles auswählen

/**
* @ignore
*/
Dieser Kommentar steht normalerweie vor der Abfrage IN_PHP, versuch es mal mit dem Löschen dieser Zeilen.
Ist ja in einem Kommentar "versteckt", sollte also eigentlich keine Auswirkungen haben, aber ich weiß nicht, was EPV alles checkt. Und ist auch das Einzige, was mir einfällt, denn bei den Event-Listenern muss man das ja nicht abfragen (habe es bei mir auch nicht drin und EPV hat nicht gemeckert).

Ansonsten ist deine Extension klasse, nutze sie in unserem Forum auch.
Gruß
Mike-on-Tour
HJW
Mitglied
Beiträge: 1291
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von HJW »

Ich habe das mal entfernt, aber es bleibt bei der Meldung.
Mike-on-Tour hat geschrieben: 26.02.2020 21:05 habe es bei mir auch nicht drin und EPV hat nicht gemeckert
Habe ich in anderen Extensions auch nicht drin, ohne Meldung. Das Problem ist, selbst wenn ich es reinschreibe kommt die Meldung.
Es macht ja m.E. auch keinen Sinn, das in einer Extension zu definieren.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17399
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von Dr.Death »

Ggf. hat die EPV Meldung damit zu tun, weil du außerhalb der class main_listener Funktionen definiert hast ?
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2114
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von LukeWCS »

nAbend

@HJW

Problem 1

Mike's Vorschlag klingt erstmal einleuchtend, also dass das einfach nur ein Artefakt ist, was von EPV bemerkt wird. Der Fall liegt hier jedoch ein wenig anders und ist auch nicht sofort ersichtlich.

Die Meldung "Warning: IN_PHPBB is not defined in /hjw/calendar/event/main_listener.php" kommt schlicht daher, weil du im Listener 4 Funktionen ausserhalb der Klasse main_listener definiert hast. Pack die Funktionen innerhalb der Klasse und greife dann per $this-> auf die Funktionen zu.

Problem 2

Ich musste jetzt erstmal dein aktuelles ZIP holen und bei mir lokal mit EPV testen um dahinter zu kommen. Der Punkt ist, die Meldung ist irreführend, weil sie nicht direkt auf die tatsächliche Ursache hinweist. Nach einigen Versuchen sieht es für mich so aus, also ob EPV hier schlicht ins "schleudern" gerät und das hat eine ganz andere Ursache. Dazu gleich mehr, erstmal:

Die besagten Zeilen kannst auf jeden Fall löschen wie Mike schrieb, denn die gehören nicht in einen Listener sondern eigentlich zu dem erwähnten IN_PHPBB Block den man primär in Sprachdateien findet und eigentlich nicht in einen Listener gehört.

Jetzt zur Ursache: ich habe eine Weile gebraucht um das zu verstehen, weil die Meldung "Can not find '$vars = array();'-line for event ... Are you using UNIX style linefeeds?" überhaupt keinen Sinn ergibt, wenn man sich die Datei genau anschaut. Des Rätsels Lösung ist ganz einfach der fehlende Kommentarblock zu deinem Event. Wenn du einen Event einrichtest, musst du auch den zugehörigen Kommentarblock einfügen und der muss nach ganz bestimmten Regeln aufgebaut sein.

Dazu das folgende lesen, da wird gezeigt wie der Block generell aussehen muss:

https://area51.phpbb.com/docs/dev/3.2.x ... -extension

Darauf prüft EPV dann auch sehr penibel, das heisst wenn der Block nicht einwandfrei zu deinem Event und deinem Listener passt, dann meckert EPV jede Kleinigkeit an, bis der Kommentarblock sauber definiert ist. Und dieser fehlende Block ist die eigentliche Ursache für das zweite Problem.

Und ebenfalls wichtig: zwischen der $vars Deklaration und dem Event darf es keine Leerzeilen geben.

edit: hrhr der Tod war mal wieder schneller.
Zuletzt geändert von LukeWCS am 27.02.2020 17:33, insgesamt 1-mal geändert.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
HJW
Mitglied
Beiträge: 1291
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von HJW »

Danke für eure Antworten, dann werde ich das mal umsetzen.
LukeWCS hat geschrieben: 26.02.2020 23:06 edit: hrhr der Tod war mal wieder schneller.
Du hast es aber so erklärt, dass sogar ich das sofort begriffen habe.

Nee ist das schön, alles grüne Häkchen :grin:
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2114
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von LukeWCS »

Hermann Joseph, ich habe das Ganze heute morgen nochmal angeschaut, weil ich mich nie damit zufrieden gebe, eine Lösung für ein Problem zu finden, sondern immer versuche die Ursache möglichst genau zu verstehen. Darum noch eine Ergänzung:

Die eigentliche Ursache für die Meldung war nicht der fehlende Kommentarblock, das war nur ein Folgefehler sozusagen. Die Ursache selber war die Leerzeile zwischen $vars und dem Event-Trigger. Wenn man nämlich bei deinem ZIP vom 26.2 einfach diese Leerzeile entfernt, würde sich die Reaktion von EPV schon deutlich ändern:

Fatal error: Can not find @var lines for event 'hjw.calendar.viewtopic.modify_participants_list' in file '\hjw\calendar\event\main_listener.php:737'

Vorher war das ja:

Fatal error: Can not find '$vars = array();'-line for event 'hjw.calendar.viewtopic.modify_participants_list' in file '\hjw\calendar\event\main_listener.php:738'. Are you using UNIX style linefeeds?

Die erstgenannte Meldung wäre der erste brauchbare Hinweis - zumindest indirekt - das da etwas fehlt, nämlich der besagte Kommentarblock. Genau das ist mir gestern Abend schon aufgefallen, ich habe dann aber soviel probiert um das Problem zu lösen, dass dieses Detail leider schnell in Vergessenheit geraten ist.
Zuletzt geändert von LukeWCS am 29.02.2020 11:22, insgesamt 1-mal geändert.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1075
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von Mike-on-Tour »

Dazu kann ich jetzt nur sagen: Again what learned ( :roll: )
Danke an LukeWCS für die ausführliche Erklärung.
Antworten

Zurück zu „Extension Bastelstube“