ConPresso4 Community

Fragen, Antworten, Diskussionen rund um das Content Management System ConPresso

 
PHP 7.3

 
Neue Antwort erstellen    ConPresso4 Community Foren-Übersicht -> Bugs ConPresso 4
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7066

BeitragVerfasst am: 24.12.2018 09:11    Titel: PHP 7.3 Antworten mit Zitat

Hier möchte ich mal sammeln, welche Dinge mir auffallen, bei einem bereits auf PHP 7.2 migrierten Auftritt, nachdem auf PHP 7.3 (seit 6.12.2018) umgeschaltet wurde.

Folgende Meldung taucht bei mehreren CPO-Dateien auf
Zitat:
Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in _admin/modules.php on line 58

Die Meldung taucht aufgrund der für CPO typischen Kontroll- und Ablaufstrukturen immer gleich mehrfach auf.
Allerdings immer nur einmal, beim nächsten Aufruf werden keine Meldungen mehr ausgegeben.

Davon betroffen sind
_admin/modules.php
_admin/articles.php

Ich war bisher der Meinung, dass sich die Kontrollstrukturen while/continue und switch/break klar voneinander abgrenzen, aber das scheint PHP anders zu sehen, siehe der erste Hinweis auf
http://php.net/manual/de/control-structures.switch.php

Zitat:
Hinweis: Beachten Sie, dass im Unterschied zu einigen anderen Sprachen die continue Anweisung auch auf switch anwendbar ist und sich ähnlich wie break verhält. Wenn Sie ein switch innerhalb einer Schleife verwenden und mit dem nächsten Schleifendurchlauf beginnen wollen so müssen Sie in diesem Fall continue 2 angeben.


Es müsste also vermutlich "continue 2" benutzt werden.

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
balu
ConPresso-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1748

BeitragVerfasst am: 30.12.2018 13:55    Titel: Antworten mit Zitat

In dem Fall ist es egal, da hinter dem Switch keine weiteren Anweisungen in der Schleife folgen. Die Idee ist ja einfach, aus dem switch zu springen, weil z.B. eine wichtige Variable fehlt.

"break" ist dann vermutlich klarer, als "continue 2".

_________________
Bartels.Schöne
ConPresso Support & Development
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7066

BeitragVerfasst am: 30.12.2018 14:06    Titel: Antworten mit Zitat

Du meinst, statt continue (oder eben continue 2) sollte da einfach nur break rein?.

Funktionieren tut es ja, nur die Meldung, da gleich in gehäufter Form, nervt doch etwas...





continue2.jpg
Klicken für Originalbild! continue2.jpg (92.39KB) - 94 mal angeklickt



_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7


Zuletzt bearbeitet von MarkusR am 30.12.2018 14:13, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
balu
ConPresso-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1748

BeitragVerfasst am: 30.12.2018 14:11    Titel: Antworten mit Zitat

Ich meinte, die Lösung ist das verwendete "continue" in ein "break" zu ändern und nicht wie von PHP vorgeschlagen in "continue 2".
_________________
Bartels.Schöne
ConPresso Support & Development
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7066

BeitragVerfasst am: 30.12.2018 14:14    Titel: Antworten mit Zitat

*lach* ja, ich hatte es inzwischen verstanden und mein Post korrigiert.
Du warst aber eine Minute schneller... Ich Dummbeutel!

Also break statt continue 2... Wink

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7066

BeitragVerfasst am: 18.06.2019 10:29    Titel: Antworten mit Zitat

Noch eine notwendige Anpassung:

in _admin/templates.php

Zeile 331
Code:
print("placeholder.push('".$v[type]."', '".addslashes($v[name])."');\n");


muss werden zu
Code:
print("placeholder.push('".$v['type']."', '".addslashes($v['name'])."');\n");

also mit ' um die Keys

Ansonsten werden im Template Editor vorhandene Platzhalter nicht aufgelistet. Das fällt bei bereits laufenden Auftritten meist nicht auf, da man Templates (vorerst) ja nicht mehr bearbeiten muss.

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7066

BeitragVerfasst am: 18.06.2019 10:31    Titel: Antworten mit Zitat

Und der Vollständigkeit halber natürlich auch diese Anpassung:
https://community.conpresso4.de/viewtopic.php?p=29261#29261

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neue Antwort erstellen    ConPresso4 Community Foren-Übersicht -> Bugs ConPresso 4 Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen