Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get-Funktionen sollen Wert in, zum Model-Feld passende, PHP Typen zurück liefern #321

Open
j3nsch opened this issue Dec 15, 2022 · 2 comments
Assignees

Comments

@j3nsch
Copy link
Member

j3nsch commented Dec 15, 2022

Funktionen wie getId, getPartOfBibliography oder getVisible liefern alle Strings zurück, wenn die Werte aus der Datenbank ausgelesen wurden. Die Funktion getId sollte in der Regel ein int Wert liefern. Boolesche Felder, wie Visible sollten true oder false zurück liefern. Die Rückgabewerte sollten in ihrem Typ den Erwartungen entsprechen, damit sie mit PHP 8 auch zuverlässig strikt mit anderen Werten verglichen werden können.

Im Augenblick gibt es viele Probleme mit dem Code und PHP 8, weil auf einmal zum Beispiel IDs als Strings mit IDs als Integers verglichen werden und auf einmal die gleiche Zahl nicht mehr als identisch gemeldet wird, weil sich die Typen unterscheiden.

@j3nsch j3nsch self-assigned this Dec 15, 2022
@j3nsch
Copy link
Member Author

j3nsch commented Dec 15, 2022

Die Field-Klasse muss um ein Type-Property ergänzt werden und dieses in der getValue-Funktion berücksichtigt werden. Als Default wird der Wert einfach so zurück gegeben wie bisher. Ist ein Typ für ein Feld definiert, dann wird der Wert vor der Rückgabe in den entsprechenden Typ umgewandelt.

Boolesche Felder, sollten im Augenblick weiterhin 0 und 1 als Integers zurück liefern. Das kann später in true und false geändert werden, aber bisher wird an vielen stellen auf 0 und 1 geprüft und eine Änderung würde sich auch auf die Ausgabe im XML auswirken. Gegebenenfalls sollte für die spätere Umstellung ein Issue angelegt werden.

@j3nsch
Copy link
Member Author

j3nsch commented Dec 15, 2022

In der Doctrine basieren Umsetzung ist zu erwarten, dass die Rückgabewerte ohne zusätzlichen Aufwand mit den korrekten Typen zurück gegeben werden.

@j3nsch j3nsch moved this to In Progress in PHP 8 Support Dec 15, 2022
j3nsch added a commit that referenced this issue Jan 4, 2023
@j3nsch j3nsch removed this from PHP 8 Support Apr 25, 2023
@j3nsch j3nsch removed this from OPUS 4.8.1 May 10, 2023
@j3nsch j3nsch added this to 4.8.2 May 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

1 participant