[Catalyst] access stash outside methods

Aditya Verma verma.aditya1 at gmail.com
Tue Aug 21 20:48:25 GMT 2007


Hi All,

I want all of my controllers to register there respective URLs with
description. this data will be used in template to create dynamic HTML
pages.
controllers will register URLs at catalyst startup.

I have to store this data into variable (not in any file or database) which
will be accessible in all the controllers.
To get the registration work I have to write statement outside of all
controller methods to execute the same at the time of catalyst startup.

hope you guys can understand my requirement.

Thanks,
Aditya

On 8/21/07, John Napiorkowski <jjn1056 at yahoo.com> wrote:
>
>
> --- Aditya Verma <verma.aditya1 at gmail.com> wrote:
>
> > Hi,
> >
> > I am running catalyst under apache configured with
> > mod_perl.
> >
> > Can I somehow access stash out methods.
> >
> > I want to declare a global variable inside
> > controller and outside methods
> > which will be accessible in all controllers.
> > stash could be a solution but outside methods
> > context object is not
> > available so i don't have access to stash.
> >
> > please help me solve the problem.
> >
> > Thanks,
> > Aditya
>
> Hi,
>
> I may not fully understand your use case, but
> typically the stash is used for a particular context,
> not as a global thing.
>
> You can alway pass the context to methods that need
> it.  I know it seems cumbersome, but the reason is to
> make you really think if you need it, the idea being
> that you should try to decouple your context as much
> as possible.
>
> If you need some global information there are a few
> ways I can think of:
>
> 1) put it into the configuration file.  This is great
> for static stuff, like admin email address, etc.
> 2) Create a model that provides the information you
> need.  If this information is based on the current
> context you can inherit from
> "Catalyst::Component::ACCEPT_CONTEXT" to build it.
> 3) Create a base controller with a method that gets
> the information you need.  The have the controllers
> that need this information inherit from that.
>
> You might get the suggestion to make this a catalyst
> plugin, but that's no longer recommended best
> practices.  Plugins should be reserved for when you
> are trulying enhancing/extending the basic Catalyst
> features.
>
> Please share with us the details of the use case and
> maybe we can help.
>
> --John
>
>
>
>
> _________________________________________________________________________=
___________
> Choose the right car based on your needs.  Check out Yahoo! Autos new Car
> Finder tool.
> http://autos.yahoo.com/carfinder/
>
> _______________________________________________
> List: Catalyst at lists.rawmode.org
> Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
> Searchable archive:
> http://www.mail-archive.com/catalyst@lists.rawmode.org/
> Dev site: http://dev.catalyst.perl.org/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20070822/54c69=
14f/attachment.htm


More information about the Catalyst mailing list