I was ruminating over the code while having dinner just now and remembered something. I realised that set() does provide a way to avoid Inflector having its way with one's var names:
00640 foreach ($data as $name => $value) { 00641 if ($name === 'title') { 00642 $this->pageTitle = $value; 00643 } else { 00644 if ($two === null && is_array($one)) { 00645 $this->viewVars[Inflector::variable($name)] = $value; 00646 } else { 00647 $this->viewVars[$name] = $value; 00648 } 00649 } 00650 } I just needed to pass false as the second param. 3 cheers for undocumented features! On Mon, Jan 26, 2009 at 7:09 PM, brian <bally.z...@gmail.com> wrote: > So I just got a clue and stuck this right after my call to the component: > > die(debug($this->viewVars)); > > It turns out that Cake sets loose Inflector upon the var names! What > kind of inane "feature" is that?!? And no flag to keep it from doing > so! > > I think I'm going to have to break down and alter Cake core for this. > Please, someone talk me down from the ledge and explain to me why this > isn't a bug and I really should appreciate it. > > On Mon, Jan 26, 2009 at 6:54 PM, brian <bally.z...@gmail.com> wrote: >> I'm putting together a component to move a bunch of logic out of one >> of my controllers. The component has a method whose sole purpose is to >> set a number of vars for a view that's tightly-coupled to the >> component. I wanted to do it this way because there are several places >> where these are required to be set, though the values come from >> different places. This way, I can pass the values t the component and >> have it set everything the way it requires. >> >> Anyway, my component method looks something like: >> >> public function setStuff($foo, $bar, $something_else) >> { >> $this->controller->set(compact('foo', 'bar', 'something_else')); >> } >> >> The component also has this startup method: >> >> function startup(&$controller) >> { >> $this->controller = $controller; >> } >> >> (and, of course, a $controller member var) >> >> Unfortunately, this doesn't appear to be working--I'm getting >> undefined vars in the view. Is there any reason why I couldn't set >> view vars from the component like this? I know the vars are available >> in the symbol table, of course, though I did put a debug(compact(...)) >> in there, just to be sure. >> > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---