Reply to Re: include_once() within a function

Your name:

Reply:


Posted by Mikhail Kovalev on 09/08/07 20:29

On 8 Sep, 22:05, Jerry Stuckle <jstuck...@attglobal.net> wrote:
> Mikhail Kovalev 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....
>
> That's exactly what Rik was telling you.
>
> Whether you include a file or not is immaterial. A static variable
> within a function will keep its value between invocation; a non-static
> variable will not.
>
> But the real question is - why does it take several seconds to load?
> I've never had a PHP file take that long!


It loads a 1,8 MB array stored as serialized in a file....=)

This is not something i do for web

[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

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