On 12/14/07, Anthony Ettinger <[EMAIL PROTECTED]> wrote:
> Can you perhaps provide a link to details about this technique? which
> files, how it gets instantiated, etc.
>
> I definitely want the "global" to be instantiated on each request,
> without sharing value between users. and then dies off at the end of
> the request.

I think $m->notes() just did all what you want. It lives per-request,
so different users have different $m->notes, you can use $m->notes to
deliver information between Mason components, and use
$HTML::Mason::Commands::m->notes(....) to get/set notes information in
the backend Perl modules. So no need to reinvent the wheel..

If you use "global", i.e. $stash as defined in Jonathan's post, I
think you can just localize it in your top-most autohandler to keep
its values per-request:

<%init>
 local $stash;
 ....
</%init>

But to differentiate it between users, you need to make $stash a hash
reference keyed by session-ids or any unique-ids. you probably still
need $m->notes to deliver these ids between components or backend
modules.... or just use $m->session or the like instead of the global
$stash.. Just my $0.02.

Regards,
Xicheng

> On Dec 14, 2007 4:52 PM, Jonathan Swartz <[EMAIL PROTECTED]> wrote:
> > If all you want is a global stash (as in TT), then you could create a
> > global called $stash visible to all components:
> >
> >      allow_globals => [qw($stash)]
> >      ...
> >      $interp->set_global(stash => { ... });
> >
> > This is no different than
> >
> >     package HTML::Mason::Commands;
> >     use vars qw($stash);
> >
> >     $HTML::Mason::Commands::stash = { ... };
> >
> >
> >
> > On Dec 14, 2007, at 3:48 PM, Anthony Ettinger wrote:
> >
> > > On Dec 14, 2007 1:45 PM, Perrin Harkins <[EMAIL PROTECTED]> wrote:
> > >> On Dec 14, 2007 3:04 PM, Steven Saner <[EMAIL PROTECTED]> wrote:
> > >>> Don't you have a reference to the MasonX::WebApp object defined as a
> > >>> global variable, $app or whatever? You could store the data in that
> > >>> object.
> > >>
> > >> Is there any advantage you know of to using something like
> > >> $app->data() over $m->notes()?
> > >>
> > >> - Perrin
> > >>
> > >
> > >
> > > Is $app->data() something that's available as a standard?
> > >
> > > I use $m->notes() for this sort of stuff, but the problem I have is
> > > its only available to mason parts (not backend perl modules that are
> > > loaded).
> > >
> > > --
> > > Anthony Ettinger
> > > 408-656-2473
> > > http://anthony.ettinger.name
> > >
> > > var (bonita, farley) = new Dog;
> > > farley.barks("very loud");
> > > bonita.barks("at strangers");
> > >
> > > ----------------------------------------------------------------------
> >
> > > ---
> > > SF.Net email is sponsored by:
> > > Check out the new SourceForge.net Marketplace.
> > > It's the best place to buy or sell services
> > > for just about anything Open Source.
> > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/
> > > marketplace
> > > _______________________________________________
> > > Mason-users mailing list
> > > Mason-users@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/mason-users
> > >
> >
> >
>
>
>
> --
> Anthony Ettinger
> 408-656-2473
> http://anthony.ettinger.name
>
> var (bonita, farley) = new Dog;
> farley.barks("very loud");
> bonita.barks("at strangers");
>
> -------------------------------------------------------------------------
> SF.Net email is sponsored by:
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services
> for just about anything Open Source.
> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
> _______________________________________________
> Mason-users mailing list
> Mason-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mason-users
>
-- 
Xicheng Jia (Ph.D in Comp. Applied Math)

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Mason-users mailing list
Mason-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mason-users

Reply via email to