Ich habe die neuen Funktionen für PHP7 untersucht und dachte mir, dass ich damit beginnen könnte, mein Projekt für die neuen Funktionen, die es einführt, vorzubereiten, wie Skalar-Typ-Hinting.
Eines der ersten Probleme, denen ich begegnete, waren meine Konstruktoren in verschiedenen Klassen. Ich habe einige generische Controller, die sich so verhalten:
%Vor%Das Einführen von Typhinweisen für diese Methode wirft natürlich Fehler in alle Richtungen.
Soweit ich weiß, führt PHP7 keine Unterstützung für mehrere Konstruktoren ein. Gibt es irgendwelche Möglichkeiten, um dieses Problem zu umgehen, oder ist dies eine der Einschränkungen der Sprache?
Richtig, das ist eine der Einschränkungen der Sprache.
(Und das strlen() > 0
kann sowieso nicht über einen Typ überprüft werden. Das wird automatisch in einen String umgewandelt ... also erlaubt Ihre Methode alles außer "", null und falsch?)
Im Allgemeinen gibt es RFCs im Entwurf, um das Typhinting von PHP in 7.1 zu erweitern: Ссылка
Damit könntest du int | float | array | string $data = null
schreiben.