ich folgende Frage:Preprocessing wie "#if defined" in PHP
ich mit PHP eine SOAP-Server-Anwendung am Programmieren. Aber ich muss das auf zwei verschiedene Arten tun, eine für den externen Gebrauch (für alle Menschen) und eine, die nur für einen Import ist. Und die Import-Anwendung hat nur ein bisschen mehr Möglichkeiten, aber ansonsten ist es dasselbe.
In C würde ich so etwas wie dies (mit dem Prä-Prozessor) schreiben:
#ifdef INTERNAL
int funktion(int ok, double asdfg, const char *aaa){
#else
int funktion(int ok, double asdfg){
#endif
return 0;
}
Ich weiß, dass die Funktion defined()
in PHP, aber es nicht wirklich tun, was ich tun möchte (glaube ich). Aber gibt es etwas Simolar?
Natürlich habe ich zwei verschiedene Anwendungen schreiben können, aber es wäre sehr schön, wenn es so etwas wie dieses ...
um Hilfe Danke war!
EDIT: Ich weiß, dass in der Regel ist es möglich, bedingte Funktionen wie
if(CST){
function asdf($asdf){
}
}
else{
function asdf(){}
}
aber ich brauche es in der Klasse zu schreiben und es funktioniert es nicht ...
Mit freundlichen Grüßen!
PHP ist nicht eine kompilierte Sprache. Solche Compiler-Direktiven gibt es nicht. Aber könnten Sie Ihr Bedürfnis erklären? Ist es wirklich zu entscheiden, ob man das 3. Argument hat oder nicht? Wenn ja, kann das anders gelöst werden. – trincot
Nun, ich weiß, dass PHP nicht kompiliert wird. Aber ich hoffte, dass es einige Problemumgehungen gibt ... Es ist für etwas in der Art erforderlich: Für _normal_ Benutzer z. die 'function add()' hat 3 Parameter, aber für den Import brauche ich auch die Datenbank ID. Und in der Funktion muss ich die SQL-Anweisung erstellen. Normalerweise ist die ID auto_incrementiert, aber wenn sie gegeben ist ... "Wenn ja, kann das anders gelöst werden" Mit optionalen Parametern (wie 'Funktion hinzufügen ($ test, $ test2, $ asdf = NULL)'? Ich weiß, aber das ist nicht was ich brauche, denn der normale Benutzer darf nicht den dritten Parameter verwenden ... Aber danke für Ihre Hilfe – eisenbahnfan
Nein, ich dachte nicht optionale Argumente.Sie können eine Funktion bedingt definieren , und so in zwei verschiedenen Signaturen, abhängig von dieser Bedingung – trincot