Ich würde gerne die _()
PHP-Funktion so, dass sie ein oder mehrere Argumente unterstützt. Ist es möglich, dies mit PHP-Code zu tun?
Antworten
Zu viele Anzeigen?Nein, aber mit PHP-Version >= 5.3.0 können Sie Namespacing Allerdings.
Sie könnten versuchen, die Runkit-Erweiterung aber in Produktionsumgebungen ist das eine schlechte Praxis. Siehe auch Neudefinition der PHP-Funktion?
Es ist möglich, mit Hilfe der Runkit-Erweiterung .
Es wird jedoch im Allgemeinen nicht als gute Idee angesehen, außer für Dinge wie Unit-Tests, bei denen Sie einen Teil Ihrer Funktionalität isolieren möchten.
Für den allgemeinen Gebrauch sollten Sie keine eingebauten Funktionen überschreiben, da dies die Wartung Ihres Codes erschwert und einige sehr schwer zu behebende Probleme aufwirft.
Außerdem ist die Runkit-Erweiterung als "experimentell" gekennzeichnet, was bedeutet, dass sie wirklich sollte nicht in einem Produktionssystem verwendet werden.
Tun Sie das wirklich nicht! Selbst wenn Sie der einzige Entwickler an diesem Projekt sind und wissen, dass Ihr Projekt nicht erfolgreich sein wird, kann man nie wissen, wie lange Ihr Code in Gebrauch sein wird (oft viel länger, als man denkt). Sollte ein anderer Entwickler in Ihren Code einsteigen müssen, wird er es sehr schwer haben, weil er sich nicht auf PHP selbst verlassen kann.
Ein besserer Weg wäre, eigene Methoden/Funktionen zu schreiben, die dann die PHP-Funktion aufrufen, die Sie überschreiben möchten. Auf diese Weise kann ein Entwickler sofort erkennen, dass es sich nicht um die Standard-PHP-Funktion handelt, und selbst wenn PHP in zukünftigen Versionen andere Parameter zulässt, haben Sie eine saubere Lösung.