Re: [PHP-DEV] How expensive are function_exists() calls?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux