Euromark, Good point. This is an intranet app protected by a SSO sign-on that sets REMOTE_USER. I am trying to set 3 global variables at the outset such as REMOTE_USER that will be visible to all other components. This will include a user-specific identifier that will require a table lookup.
So the scope/applicability will be "one user" but I am not sure about the issue of persistence. By adding some of this to bootstrap.php, my understanding is that it will be run for any executed view calling a controller+model. If I could set that identifier in a session variable, I guess that would avoid subsequent table lookups to get that identifier. Maybe I need to get more comfortable with session variables, but this is an application with a limited set of users and very low load, so I might just tolerate some lookup overhead for the time being to set that identifier. Thanks for your reply and patience. J On Jan 3, 7:46 am, euromark <[email protected]> wrote: > you didnt specify if you want them available app-wide for this request > ONLY or more persistent > without knowing that it is pure speculation (as bujanga did) what best > to use. > > non-persistent: > - constants (one user) > - Configure (one user) > > persistent > - (cache) files (all user) > - db (all user) > - session (one user) > - cookies (one user) > > a huge variety as you can see > all have a purpose that fits best > > On 3 Jan., 15:10, Thiago Belem <[email protected]> wrote: > > > > > About the: > > > var $ipaddr=$_SERVER['REMOTE_ADDR']; > > > I don't think this is possible since class attributes must receive literal > > values, you can't pass a variable on the class definition, only inside a > > method or constructor. > > > -- > > ***Thiago Belem* > > Desenvolvedor > > Rio de Janeiro - RJ - Brasil > > > +55 (21) 8865.9250 > > thiagobelem.net > > [email protected] > > > *Skype / gTalk **»* thiago.belem.web > > *LinkedIn* *»* br.linkedin.com/in/thiagobelem/pt* > > Assando Sites*, curso de CakePHP *»* assando-sites.com.br > > > 2012/1/3 Kanwal <[email protected]> > > > > You can use a simple way in app_controller like > > > var $ipaddr=$_SERVER['REMOTE_ADDR']; > > > > and access in any controller function like: > > > echo $this->ipaddr; > > > > On Jan 2, 7:12 pm, geste <[email protected]> wrote: > > > > Gary, euromark, > > > > > OK, yes I was able use Configure::write in boostrap.php. > > > > > If I can just use the CakePHP database connector, I think I'll just > > > > write a small snippet that looks up that secondary identifier and add > > > > that to bootstrap.php. > > > > > Thanks, > > > > > J > > > > > On Jan 2, 2:35 pm, bujanga <[email protected]> wrote: > > > > > > This is really not a configuration item, though you can set it using > > > > > Configure::write(). Of course, $_SERVER['REMOTE_ADDR'] must be > > > > > provided by your web server. > > >http://php.net/manual/en/reserved.variables.server.php > > > > > If you are trying to create a user setting, a session cookie would be > > > > > much more appropriate. Alternatively, I often log the user's IP > > > > > address to the DB upon login. > > > > > > Gary > > > > > > On Mon, Jan 2, 2012 at 3:48 PM, geste <[email protected]> wrote: > > > > > > All, > > > > > > > I am looking for the easiest, most global way to set a couple of > > > > > > app- > > > > > > wide constants, more or less, that would derive from Apache > > > variables, > > > > > > specifically $_SERVER['REMOTE_USER'] and $_SERVER['REMOTE_ADDR'] and > > > > > > that would be used throughout the app both in models and > > > > > > controllers. > > > > > > > A Configure:write method in app_controller.php seemed like it might > > > be > > > > > > the place to set like so: > > > > > > > Configure::write('User.Address',$_SERVER['REMOTE_ADDR']); > > > > > > > but it looks like that method only wants text strings for the write > > > > > > method and anyhow it did not work whether I tried it at top of > > > > > > app_controller.php or in a beforeFilter function in > > > > > > app_controller.php. > > > > > > > I also tried more generic means such as using PHP getenv like so: > > > > > > > $ipaddr = getenv('REMOTE_ADDR'); > > > > > > > and that partly works, but I am not seeing a way to make it glovally > > > > > > available. Using the form > > > > > > > var $ipaddr = getenv('REMOTE_ADDR'); > > > > > > > at top of app_controller.php just does not work, but I am guessing I > > > > > > am misusing that "var" construct. > > > > > > > Any thoughts welcome! > > > > > > > J > > > > > > > -- > > > > > > Our newest site for the community: CakePHP Video Tutorialshttp:// > > > tv.cakephp.org > > > > > > Check out the new CakePHP Questions > > > sitehttp://ask.cakephp.organdhelpotherswith their CakePHP related > > > questions. > > > > > > > To unsubscribe from this group, send email to > > > > > > [email protected] For more options, visit this > > > group athttp://groups.google.com/group/cake-php > > > > -- > > > Our newest site for the community: CakePHP Video Tutorials > > >http://tv.cakephp.org > > > Check out the new CakePHP Questions sitehttp://ask.cakephp.organdhelp > > > others with their CakePHP related questions. > > > > To unsubscribe from this group, send email to > > > [email protected] For more options, visit this group > > > athttp://groups.google.com/group/cake-php -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cake-php
