Reply to Re: detecting a function call

Your name:

Reply:


Posted by Rik on 08/10/07 13:33

On Fri, 10 Aug 2007 12:52:59 +0200, philm <gates.w@microsoft.com> wrote:=


> Asking for direction if possible.
>
> What I would like to be able to do is detect when particular functions=
=

> are
> called, so as to be able to set up a results cache, and use that inste=
ad =

> of
> continual db calls and processing.

At runtime? Just using flags I suppose.. Might be worth your while to =

build an (singleton?) object out of several functions.

> Other alternative I suppose, is to look at building in caching in each=

> function...

A variation of:

function foo($param){
static $results =3D array();
if(isset($results[$param])) return $results[$param];
//..
//actual processing, captured in $return;
//..
$results[$param] =3D $return;
return $return;
}


Or possibly, a wrapper function (be very aware of unserializable argumen=
ts =

though):

function cache_results($function, $args =3D array()){
static $cache =3D array();
$checkargs =3D serialize($args);
if(isset($cache[$function][$checkargs])) return =

$cache[$function][$checkargs];
$return =3D call_user_func_array($function,$args);
$cache[$function][$checkargs] =3D $return;
return $return;
}
-- =

Rik Wasmus

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация