|
Posted by Mikhail Kovalev on 09/08/07 19:37
On 8 Sep, 21:26, Mikhail Kovalev <mikhail_kova...@mail.ru> wrote:
> On 8 Sep, 21:12, Mikhail Kovalev <mikhail_kova...@mail.ru> wrote:
>
>
>
> > On 8 Sep, 20:49, "Rik Wasmus" <luiheidsgoe...@hotmail.com> wrote:
>
> > > On Sat, 08 Sep 2007 19:33:44 +0200, Mikhail Kovalev
>
> > > <mikhail_kova...@mail.ru> wrote:
> > > > Hi all,
> > > > I have a file which is to be included in another script and which
> > > > takes several seconds to load(!), and which is actually not always
> > > > used by the script, so instead of using include or include_once in the
> > > > beginning, i'm using include_once() within a function, which is called
> > > > on demand...
> > > > The problem is the new data has the scope of the function, and when
> > > > the same function is called again, the data is lost....
>
> > > Well, you could assign it to static variable(s) in your function.
>
> > > function foo(){
> > > static $cache;
> > > if(!$cache){
> > > $cache = include('/path/to/file'); //let the include file return the
> > > variables
> > > }
> > > return $cache;
>
> > > }
>
> > > --
> > > Rik Wasmus
>
> > return $cache?
> > My function returns something else...
> > Mmm, doesn't seem to work even with the return part.
>
> > The functions from the included file are preserved, but the variables
> > which are declared in that file are lost. Ive tried declaring them
> > static directly inside the included file, but with no luck.....
>
> > Btw, the function in question here is called from another function...
>
> I guess what I'm looking for is how to make "once-included" variables
> global from inside the function....
Allright, Ive solved it by putting them directly into $GLOBALS from
whithin the included file's code...but i dont feel its good
programming. WOuld be very grateful if you have other solutions=))
Navigation:
[Reply to this message]
|