request length global variable

request length global variable

am 23.04.2010 21:20:52 von Tosh Cooey

I'm drawing a blank here and I probably shouldn't be, but...

I would like to use a global variable that's only available for the
duration of a request.

I guess I could create() and undef() the variable at the start and end
of each request but that seems so... inelegant...

Any suggestions?

Danke!

Tosh

--
McIntosh Cooey - Twelve Hundred Group LLC - http://www.1200group.com/

Re: request length global variable

am 23.04.2010 21:31:26 von Doug Sims

--000e0cd11a1a22e5ed0484ec794f
Content-Type: text/plain; charset=ISO-8859-1

I've struggled with wanting to use globals too, but it's not the functional
way. Our current approach is to create a parallel request object and pass
that through all of the function calls. We set a member of the parallel
request object to the actual Apache request object. Something like this:

$s->new Session($r, $dbh);

and then in Session,

sub new {
($class, $self->{REQUEST}, $self->{DBH})=@_;

and then later

DoStuffWithRequest($s);

It might be neater to just override the Apache request object.




On Fri, Apr 23, 2010 at 2:20 PM, Tosh Cooey wrote:

> I'm drawing a blank here and I probably shouldn't be, but...
>
> I would like to use a global variable that's only available for the
> duration of a request.
>
> I guess I could create() and undef() the variable at the start and end of
> each request but that seems so... inelegant...
>
> Any suggestions?
>
> Danke!
>
> Tosh
>
> --
> McIntosh Cooey - Twelve Hundred Group LLC - http://www.1200group.com/
>

--000e0cd11a1a22e5ed0484ec794f
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I've struggled with wanting to use globals too, but it's not the fu=
nctional way. =A0Our current approach is to create a parallel request objec=
t and pass that through all of the function calls. =A0We set a member of th=
e parallel request object to the actual Apache request object. =A0Something=
like this:



$s->new Session($r, $dbh);

and t=
hen in Session,

sub new {
  ($class,=
$self->{REQUEST}, $self->{DBH})=3D@_;

and t=
hen later


DoStuffWithRequest($s);

It mig=
ht be neater to just override the Apache request object.

v>



On Fri,=
Apr 23, 2010 at 2:20 PM, Tosh Cooey < o:tosh@1200group.com">tosh@1200group.com> wrote:

x #ccc solid;padding-left:1ex;">I'm drawing a blank here and I probably=
shouldn't be, but...



I would like to use a global variable that's only available for the dur=
ation of a request.



I guess I could create() and undef() the variable at the start and end of e=
ach request but that seems so... inelegant...



Any suggestions?



Danke!



Tosh



--

McIntosh Cooey - Twelve Hundred Group LLC - ..com/" target=3D"_blank">http://www.1200group.com/




--000e0cd11a1a22e5ed0484ec794f--

Re: request length global variable

am 23.04.2010 21:32:47 von aw

Tosh Cooey wrote:
> I'm drawing a blank here and I probably shouldn't be, but...
>
> I would like to use a global variable that's only available for the
> duration of a request.
>
> I guess I could create() and undef() the variable at the start and end
> of each request but that seems so... inelegant...
>
> Any suggestions?
>
$r->pnotes() ?
http://perl.apache.org/docs/2.0/api/Apache2/RequestUtil.html #C_pnotes_

On the other hand, a global variable can be useful to keep data
*between* requests (within a single Apache child).
To use carefully, but can be very useful.