For templating ideas ... Would bytecode caches (APC) be able to work properly with this: function print_something($args, $output = 'html') { switch($output) { 'iphone': print_something_iphone($args); break; default: print_something_html($args); break; } } or something like this: function print_something($args, $output = 'html') { if(function_exists('print_something_'.$output)) { call_user_func('print_something_'.$output); } } On Wed, Mar 4, 2009 at 12:45 PM, mike <mike503@xxxxxxxxx> wrote: > On Wed, Mar 4, 2009 at 4:01 AM, Jochem Maas <jochem@xxxxxxxxxxxxx> wrote: >> ..not an internals question me thinks ... redirecting to generals mailing list > > Actually, I do think it is somewhat internals related. > > I want to know from the internals/experts angle if this is a good > function to be relying on, or if it is one of those things like the > "@" operator which I've been told is "expensive" and to me is one of > those things to stay away from. > > Now if this breaks opcode caches like APC, I will have to find another way. > > Also - I write procedural, not OOP. So that won't help here. > > Would creating functions such as > > output_foo_html() > output_foo_rss() > output_foo_json() > > Then depending on the output, using something like this? Would this be > breaking opcode caches as well then? > > if(function_exists('output_foo_'.$format)) { > call_user_func('output_foo_'.$format); > } else { > output_foo_html(); > } > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php