Re: PHP Macros

From: Date: Fri, 18 Nov 2005 21:00:27 +0000
Subject: Re: PHP Macros
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-20174@lists.php.net to get a copy of this message
Jason Garber wrote:
Hello Internals, Remember the ifsetor() discussion? There were many, many people for it, and many people that did not see the point. To this day, it's not been allowed into the source tree, and I don't see any way to change that. So... Please consider (some form of) this if it's possible: define_macro square(x) {
     ((x) * (x))
} define_macro ifsetor(x, y) {
     (isset(x) ? x : y)
} $n = square($n); If the parser/compiler sees one of these, then it will add it to it's list of "macros", and when it runs into the usage of one, it will do a little token-replacing before compiling it... Is it technically doable?
I dare to suggest PHP replacement: define('SQUARE_X', 'return $x * $x;'); $x = 10; echo eval(SQUARE_X);

« previous php.internals (#20174) next »