Seite 5 von 7

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

Verfasst: 07.05.2020 17:27
von Dr.Death
Ja, korrekt, aber diese Stellen verursachen Hinweise auf vorher nicht definierte $lang Variablen.

Daher können die Language Dateien bei dieser Art von Prüfung ignoriert werden.

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

Verfasst: 07.05.2020 17:33
von LukeWCS
Hey Hermann

Das was du meinst nennt sich "short array syntax" und funktioniert übrigens ab PHP 5.4. [] ist also nur die Kurzform von array(), hat aber codetechnisch exakt die gleiche Wirkung/Funktion.

Das Problem ist ein anderes: Bei dem genanten Problem erkennt VA schlicht nicht, dass die Variable $lang bereits in einer übergeordneten Instanz definiert wurde und meldet diese Variable fälschlicherweise mit | WARNING | Variable $lang is undefined..

edit: Verflixt, der Tod war schon wieder schneller. Ich bin einfach zu langsam für diese Welt. :lol:
edit2: Erklärung meinem vorherigen Beitrag hinzugefügt. Ausserdem irrelevanten Codeteil entfernt.

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

Verfasst: 09.05.2020 11:22
von LukeWCS
Wir haben neue Erkenntnisse:
  • Kirk hat festgestellt, dass VA auch mehrfache globale Deklarationen der gleichen Variable entdeckt. Ein weiterer Pluspunkt für VA.
  • Ich habe (vermutlich) einen Bug gefunden, der in manchen Fällen verhindert, dass unbenutzte Funktionsparameter entdeckt werden. Nach vielen Versuchen fand ich heraus, dass man diesen Fehler mit einem spezifischen Schalter bei VA "beheben" kann. Werde das dem Autor melden, mal sehen was an Antwort kommt.
Wer VA testet, kann sich ruhig hier melden mit Erkenntnissen/Fragen, dann wissen die anderen auch Bescheid.

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

Verfasst: 09.05.2020 13:40
von Mike-on-Tour
Habe es ausprobiert, funktioniert wunderbar! Ist schon erstaunlich, dass man nach dem x-ten Mal Lesen des Codes immer noch unbenutzte Variablen hat, die einem zu Beginn des Projektes notwendig erschienen, aber dann irgendwann doch nicht mehr gebraucht wurden, aber noch deklariert sind :o

Eine Frage stellt sich mir aber, vielleicht habe ich da aber auch einen Denkfehler drin. Im Event-Listener einer Extension habe ich die Funktion

Code: Alles auswählen

public function add_page_header_link($event)
zur Ausgabe eines Links drin. VA meldet mir die Variable $event als unbenutzt, was auch stimmt, für diese Funktion wird sie nicht benötigt. Ist das jetzt Übereifer von VA oder liege ich mit meiner bisherigen Meinung falsch, dass man bei Funktionen, die einen Event abfangen, diese Variable angeben muss?

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

Verfasst: 09.05.2020 13:58
von LukeWCS
Hey Michael
Mike-on-Tour hat geschrieben:
09.05.2020 13:40
Habe es ausprobiert, funktioniert wunderbar! Ist schon erstaunlich, dass man nach dem x-ten Mal Lesen des Codes immer noch unbenutzte Variablen hat, die einem zu Beginn des Projektes notwendig erschienen, aber dann irgendwann doch nicht mehr gebraucht wurden, aber noch deklariert sind :o
Jupp, und wie sich herausgestellt hat, haben auch alle die VA bislang getestet haben solche unbenutzten Variablen damit aufgespürt. :wink:
Eine Frage stellt sich mir aber, vielleicht habe ich da aber auch einen Denkfehler drin. Im Event-Listener einer Extension habe ich die Funktion

Code: Alles auswählen

public function add_page_header_link($event)
zur Ausgabe eines Links drin. VA meldet mir die Variable $event als unbenutzt, was auch stimmt, für diese Funktion wird sie nicht benötigt. Ist das jetzt Übereifer von VA oder
Kein Denkfehler und auch kein Übereifer von VA. Es meldet einfach, dass $event nicht benutzt wird, was ja prinzipiell auch stimmt. Udo und ich hatten das ebenfalls mehrfach gemeldet bekommen und wir haben bei unseren Exts testweise $event entfernt. Unsere Exts laufen trotzdem problemlos und es wurde auch kein PHP Fehler bei der Ausführung gemeldet.
liege ich mit meiner bisherigen Meinung falsch, dass man bei Funktionen, die einen Event abfangen, diese Variable angeben muss?
Das kann ich ehrlich gesagt nicht mit absoluter Sicherheit sagen, ob man zwingend eine Variable in der Funktion definiert haben muss, wenn im Funktionsaufruf etwas übergeben wird, was gar nicht gebraucht wird. Ich Moment gehe ich mal vorsichtig davon aus, dass man das nicht muss, denn sonst würde der PHP Interpreter ja einen Fehler triggern.

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

Verfasst: 09.05.2020 14:28
von Mike-on-Tour
Dann werde ich diese Variable mal testweise entfernen und schauen, was passiert.
Ansonsten sollte VA fester Bestandteil des EC werden, ist eine sehr gute Hilfe beim Entrümpeln des Codes (denn irgendwann wird man ja betriebsblind und findet solche Sachen wie unbenutzte Variablen nicht mehr).

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

Verfasst: 09.05.2020 14:33
von LukeWCS
Ja, zusammen mit deiner Rückmeldung haben wir jetzt unterm Strich schon deutliche Hinweise darauf, dass VA als zusätzliches Modul von EC nützlich wäre. Deswegen habe ich das auf der Testseite mittlerweile ja auch in der Upload-Seite bei der Beschreibung genannt.

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

Verfasst: 11.05.2020 22:41
von LukeWCS
EC 1.1.0 mit VA ist jetzt auf der regulären Seite installiert. Startbeitrag komplett überarbeitet und viele zusätzliche Informationen eingefügt.

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

Verfasst: 12.05.2020 17:48
von LukeWCS
In Bezug auf den potentiellen Fehler den ich bei VA entdeckt hatte:
LukeWCS hat geschrieben:
09.05.2020 11:22
  • Ich habe (vermutlich) einen Bug gefunden, der in manchen Fällen verhindert, dass unbenutzte Funktionsparameter entdeckt werden. Nach vielen Versuchen fand ich heraus, dass man diesen Fehler mit einem spezifischen Schalter bei VA "beheben" kann. Werde das dem Autor melden, mal sehen was an Antwort kommt.
Das wurde inzwischen vom Autor als Bug bestätigt.

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

Verfasst: 22.05.2020 22:10
von LukeWCS
Mit 1.2.0 ging eben ein weiteres grosses Update online. Ein grosser Teil des Updates hängt mit der Umstellung auf Composer zusammen. Aber auch sonst gibt es diesmal zahlreiche Änderungen und Neuerungen. Insgesamt das wohl umfangreichste Update bisher, zu dem ich ein paar Worte abseits des Changelogs mitteilen möchte.

Eines davon betrifft das Prüfergebnis von EPV. Während der Entwicklung von 1.2.0 habe ich bei meinen vielen Tests festgestellt, das EPV den Test auch dann als bestanden betrachtet, wenn es eine oder mehrere Bemerkungen (notice) im Bericht gibt. In diesem Fall hat EC bislang nicht den grünen Haken in der Übersicht angezeigt, sondern das blaue Info-Symbol. EC kann nun auch mit dieser Situation umgehen und markiert einen Bericht der nur Bemerkungen enthält nicht nur mit dem Info-Symbol, sondern zusätzlich mit dem grünen Haken.

Das zweite wäre VA. Das Problem das ich gemeldet hatte, wurde als Bug bestätigt und kurz darauf auch schon behoben. :) Allerdings erst in der ganz neuen Version 3.0.0-beta1, wir haben aktuell 2.8.1 im Einsatz. Gegen eine stabile Beta wäre grundsätzlich nichts einzuwenden, aber das Problem ist hier zusätzlich, das VA 3.x gleichzeitig auch eine neue Abhängigkeit hat, nämlich PHPCSUtils das aber bislang nur in der Version 1.0.0-alpha2 vorliegt. Das Tool in Beta und dessen Abhängigkeit in Alpha ist mir definitiv zu heikel, das sieht mir momentan zu sehr nach Baustelle aus. Darum werde ich VA vorerst bei 2.x belassen.

Bilder im Startbeitrag aktualisiert.