Target is to have something like:
#define sum( f1, f2 ) ( f1 + f2 )
where
sum(2,2)
is 4 in PHP. Is that somehow possible? Even better would be if I could call:
$s = 'first';
APPEND ' and second';
when append will be defined as function/method/something else which is appending to $s so after those 2 lines $s would be ‘first and second’.
The point of macros in C is that they are expanded at compile time.
Therefore, using the macros does not have an impact on the speed of your code, which a function doing the same would have.
Therefore, an example of usage is:
The code above will be translated by the compiler directly into:
The whole point of it is that it is faster than defining a function, such as this one:
Because there is no overhead (in a function, you need to push arguments to the stack, etc).
In an interpreted language, like PHP, the above doesn’t hold, as everything is executed directly during run-time, therefore using a mechanism like C’s
#definewould be absolutely useless — therefore, to answer your question, simply use ordinary functions instead.