On Thu, 2008-02-07 at 10:34 +0000, Mark Knoop wrote: Hi MarkAlso I see that CGI::Application has its own params - am I right in thinkingthese are completeley different to the query params? Is there any relationship between the two? Should I just be using these for 'global' values?It also looks like I will be using the session plugin and the session objectalso has its own params, some of which I would set with the global/query/params that I am interested in.Perhaps it's clearer if you think in terms of the context of these various params(): o Query params carry temporary data from the web client to the web server (i.e. from the user to your app) o CGI::App params hold temporary data in your app for the duration of its instantiation o CGI::Session params hold permanent data (within reason) outside and beyond the lifetime of one instantiation of your app. Hence they can be used to pass data from one instantiation to the next, with access keyed by session id. Hence you need to pass the session key from one instantiation to the next. Hence our discussion of the various ways in passing that session id (cookies, hidden form data, rewriting URLs) So, these params() are not directly related to each other at all.
Ok. This is as I thought but it is very useful to have it confirmed in such a clear and concise manner.
I am wondering whether it is still useful to set up my own 'globals' object with a set of values that are required throughout an instantiation of my app, pulled from query params, session params, config and other external calls made when the request comes in. This allows me to have some extra control over how these values are allocated (eg using the session variables if present and obtaining them elsewhere if not, plus performing some specific tracing for the getting and setting of certain values) as well as allowing me to have a set of class modules which accept a single globals object and use whichever specific values are required without me having to have lots of different sets of parameters for each one. I'm kinda new to OO stuff so I would be interested to know if this is a common practice or if it is considered overkill. I have gone down this route and it is working for me but I'm not sure it is a good example of encapsulation, loose coupling etc
For example is there another tidy way to make all the params from the CGI::App, query and session available in external class methods? Apologies if I am being ludicrous due to my lack of understanding of this kind of thing but I only learn by asking dumb questions!
Cheers Mark ##### CGI::Application community mailing list ################ ## ## ## To unsubscribe, or change your message delivery options, ## ## visit: http://www.erlbaum.net/mailman/listinfo/cgiapp ## ## ## ## Web archive: http://www.erlbaum.net/pipermail/cgiapp/ ## ## Wiki: http://cgiapp.erlbaum.net/ ## ## ## ################################################################
Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.