RE: [PHP-DEV] RFC - MACRO

From: Date: Wed, 22 Dec 2010 21:47:23 +0000
Subject: RE: [PHP-DEV] RFC - MACRO
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-51124@lists.php.net to get a copy of this message
-----Original Message----- > From: Mathias Grimm [mailto:mathiasgrimm@gmail.com] > People always will want more, but some features are nice. > for C/C++ programmers, macro is on of the best things to make thing work > every where. > > its possible to create a IDE macro, but the native php feature will be good. > template engines can de wrap this functionality too. > is just like a variable: > > $method = $_GET['m']; > $control = $_GET['c']; > > $c = new $control; > $c->$method(); > > like a macro.. > > program is make thing dynamic. > > while($object = $iterator->next()) { > > } > > macro("ITER","while($object = $iterator->next())") > > ITER($iterator) { > $object->save(); > } From a userland perspective this looks very un-PHP and potentially hugely confusing when new people come across it. Also what scope would these things exist at? global scope macro's sound like evil waiting to happen What you are doing looks to be just slightly re-inventing the wheel for very little gain. If you are copy and pasting code 'DRY violation' then you probably need to rethink your code and/or make a new class/function of some sort. Unless i'm missing something? On Wed, Dec 22, 2010 at 7:08 PM, Scott MacVicar <scott@macvicar.net> wrote: > I really dislike this, what about resolving orders, then people will want > undef, then ifdef with conditions. > > The language doesn't need to introduce anything that makes it more complex > to use. > > - Scott > > On 22 Dec 2010, at 11:55, Mathias Grimm <mathiasgrimm@gmail.com> wrote: > > > I Just want a simple replace-on-the-air to avoid spend time writing more. > > > > > > On Wed, Dec 22, 2010 at 5:43 PM, Stas Malyshev <smalyshev@sugarcrm.com > >wrote: > > > >> Hi! > >> > >> > >> I want to request a C/C++ feature that i think is good. > >>> > >>> MACRO > >>> > >> > >> You know that you could write: > >> <?php > >> #define PF private function > >> #define SCOPE_CLASS(x) class MyProject_ ## x > >> > >> > >> class UseMacro > >> { > >> PF preSave($object) > >> { > >> //... > >> } > >> > >> } > >> > >> SCOPE_CLASS(Internal) > >> { > >> > >> } > >> > >> And then run it through CPP (gcc -Mcpp -E - - < in.php > out.php) and > get > >> all the macros processed? > >> -- > >> Stanislav Malyshev, Software Architect > >> SugarCRM: http://www.sugarcrm.com/ > >> (408)454-6900 ext. 227 > >> >

« previous php.internals (#51124) next »