Closed HendrikD closed 2 years ago
Unter PHP 8.0 gibt es einen Fehler. Undefined constant "OBIB_CHARSET" in shared/common.php:105"
Ich hatte auf meinem Mac mit 7.4 auch ein paar undefinierte Konstanten. Die mit sinnvollen Werten zu definieren sollte doch kein allzu großes Problem darstellen
Nein muss aber trotzdem gemacht werden.
Alle Konstruktoren müssen vom (sehr) alten Stil function KLASSENNAME(){..} umgewandelt werden in function __construct(){..}
Ich habe da jetzt auf einem branch mal angefangen die ganzen Konstruktoren umzuändern um PHP 8.0/8.1 zu ermöglichen. Dann gibt es noch Probleme weil an vielen stellen mit dem veralteten Arrayzugriffsoperator {} statt [] gearbeitet wird. Da PHP keinen Compiler hat fallen die Probleme natürlich auch erst auf wenn man den Code auslöst der noch Probleme hat. Kennt jemand vielleicht ein Tool um mal eine statische Codeanalyse üner eine ganze Codebasis in PHP zu machen? Arbeite aktuell mit Visual Studio Code und das macht erst mal nur eine statische Codeanalyse für geöffnete Dateien. Arbeite beruflich eher mit C++, Java und JavasScript :)
Werde es sonst mal mit phpstan (https://github.com/phpstan/phpstan), psalm (https://github.com/vimeo/psalm) oder phpcheckstyle (https://github.com/PHPCheckstyle/phpcheckstyle) probieren. Bin halt nicht sicher wie welches davon für PHP 8 funktioniert.
PHP 8 ist derzeit nicht so wichtig. Noch unterstützt ja Strato 7.4. Die Funktionalitäten sollten erst mal Vorrang haben, wir wollen ja schließlich bald mal eröffnen.
Das sehe ich anders. 1. Ist das eine gute Arbeit um die Codebasis etwas kennen zu lernen, 2. Ist es einfacher große Refactorings früh statt spät durchzuführen weil dann mögliche Bugs die dadurch entstehen eine größere Wahrscheinlichkeit haben während der Folgeentwicklung aufzufallen und 3. Ist gerade das größte Hinderniss bei der Entwicklung nicht die Entwicklungszeit sondern unklare fachliche Anforderungen.
Das PHP-Upgrade hat keine fachlichen Abhängigkeiten und ist daher aktuell eines der wenigen Themen wo es überhaupt richtig vorangehen kann. Bei den meisten anderen Themen muss man noch viel klären, diskutieren und entscheiden.
LeAchim59 @.***> schrieb am Mo., 11. Juli 2022, 12:05:
PHP 8 ist derzeit nicht so wichtig. Noch unterstützt ja Strato 7.4. Die Funktionalitäten sollten erst mal Vorrang haben, wir wollen ja schließlich bald mal eröffnen.
— Reply to this email directly, view it on GitHub https://github.com/HendrikD/obiblio/issues/2#issuecomment-1180205661, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHDUVLDVLQAAIT7FCPMJL3VTPWYBANCNFSM52DERGPA . You are receiving this because you modified the open/close state.Message ID: @.***>
Irgendwie hast Du natürlich recht. Wir werden die fachlichen Anforderungen möglichst bald besprechen.
Thema sollte erledigt sein
Commit 1 und 2 befassen sich bereits mit utf-8 Kompatibilität, sodass der Großteil der Arbeit für die Unterstützung modernen PHPs möglicherweise bereits getan ist. Auf dem Testsystem konnten nach kurzer Prüfung jedenfalls keine Probleme mit PHP 7 festgestellt werden.