Der Punkt von Makros in C ist, dass sie zum Zeitpunkt der Kompilierung erweitert werden.
Daher hat die Verwendung der Makros keinen Einfluss auf die Geschwindigkeit Ihres Codes, die eine Funktion haben würde, die dasselbe hätte.
Daher ist ein Beispiel für die Nutzung ist:
#define MYPRINTF(x) printf("MYPRINTF says : %s\n",x)
MYPRINTF("blah");
Der obige Code wird vom Compiler direkt in übersetzt werden:
printf("MYPRINTF says : %s\n","blah");
Der Sinn davon ist, dass es schneller ist als die Definition eine Funktion, wie diese:
void myprintf(char *x)
{
printf("myprintf says : %s\n","blah");
}
da es keinen Overhead (in Funktion ist, y Sie müssen Argumente auf den Stack schieben usw.). In einer interpretierten Sprache, wie PHP, gilt das obige nicht, da alles direkt während der Laufzeit ausgeführt wird. Daher wäre die Verwendung eines Mechanismus wie C #define
absolut nutzlos - also, um Ihre Frage zu beantworten, Verwenden Sie stattdessen einfach normale Funktionen.
Ich hoffe nicht. Andererseits hat PHP variable Variablen und auf Nachfrage 'goto' ... also habe ich wirklich Angst, es herauszufinden. Auch was ist los mit '2 + 2' oder' s. = 'Und zweiten'; '(oder, außerhalb solcher kleiner Beispiele, ** Funktionen **)? – delnan