Re: A bug in View constructor ?
I didn't know that SessionHelper was available inside views. I have replaced all my $this->controller->session by $session and it works well. Thank you. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~--~~~~--~~--~--~---
Re: A bug in View constructor ?
Eliminating direct access to the controller from the view was a concious design decision because it violates the principles of MVC separation, and we saw that it was resulting in some very bad code, i.e. people doing things they shouldn't be doing. The only reason it was allowed in the first place was to provide convenient access to session data, which is now available via SessionHelper, which is automatically loaded for all views. On Mar 19, 2:23 pm, "bernardo" <[EMAIL PROTECTED]> wrote: > This seems to be the official > word:http://groups.google.com/group/cake-php/msg/0747a1a1eda5f143 > > On Mar 19, 3:17 pm, "djiize" <[EMAIL PROTECTED]> wrote: > > > Not sure, but I read somewhere that this will not be possible anymore > > to access controller in view, cause it breaks MVC rules. > > Any expert to confirm or not? > > > On 19 mar, 18:35, "Gilles Dubois" <[EMAIL PROTECTED]> wrote: > > > > Version : CakePHP version 1.2.0.4451alpha > > > > The class constructor is waiting for an argument name $controller. The > > > class has an attribute $controller. In previous versions, I was used > > > to reach the controller from the view (eg in a .thtml file) using > > > $this->controller. It doesn't work anymore with out-of-the-box CakePHP > > > version 1.2.0.4451alpha. > > > > So I modified the View constructor to add : $this->controller = > > > $controller; as shown below (third line) : > > > > function __construct(&$controller) { > > > if(is_object($controller)) { > > > $this->controller = $controller; > > > $count = count($this->__passedVars); > > > for ($j = 0; $j < $count; $j++) { > > > $var = $this->__passedVars[$j]; > > > $this->{$var} = $controller->{$var}; > > > } > > > } > > > parent::__construct(); > > > ClassRegistry::addObject('view', $this); > > > } > > > > Is it a bug ? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~--~~~~--~~--~--~---
Re: A bug in View constructor ?
This seems to be the official word: http://groups.google.com/group/cake-php/msg/0747a1a1eda5f143 On Mar 19, 3:17 pm, "djiize" <[EMAIL PROTECTED]> wrote: > Not sure, but I read somewhere that this will not be possible anymore > to access controller in view, cause it breaks MVC rules. > Any expert to confirm or not? > > On 19 mar, 18:35, "Gilles Dubois" <[EMAIL PROTECTED]> wrote: > > > Version : CakePHP version 1.2.0.4451alpha > > > The class constructor is waiting for an argument name $controller. The > > class has an attribute $controller. In previous versions, I was used > > to reach the controller from the view (eg in a .thtml file) using > > $this->controller. It doesn't work anymore with out-of-the-box CakePHP > > version 1.2.0.4451alpha. > > > So I modified the View constructor to add : $this->controller = > > $controller; as shown below (third line) : > > > function __construct(&$controller) { > > if(is_object($controller)) { > > $this->controller = $controller; > > $count = count($this->__passedVars); > > for ($j = 0; $j < $count; $j++) { > > $var = $this->__passedVars[$j]; > > $this->{$var} = $controller->{$var}; > > } > > } > > parent::__construct(); > > ClassRegistry::addObject('view', $this); > > } > > > Is it a bug ? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~--~~~~--~~--~--~---
Re: A bug in View constructor ?
Not sure, but I read somewhere that this will not be possible anymore to access controller in view, cause it breaks MVC rules. Any expert to confirm or not? On 19 mar, 18:35, "Gilles Dubois" <[EMAIL PROTECTED]> wrote: > Version : CakePHP version 1.2.0.4451alpha > > The class constructor is waiting for an argument name $controller. The > class has an attribute $controller. In previous versions, I was used > to reach the controller from the view (eg in a .thtml file) using > $this->controller. It doesn't work anymore with out-of-the-box CakePHP > version 1.2.0.4451alpha. > > So I modified the View constructor to add : $this->controller = > $controller; as shown below (third line) : > > function __construct(&$controller) { > if(is_object($controller)) { > $this->controller = $controller; > $count = count($this->__passedVars); > for ($j = 0; $j < $count; $j++) { > $var = $this->__passedVars[$j]; > $this->{$var} = $controller->{$var}; > } > } > parent::__construct(); > ClassRegistry::addObject('view', $this); > } > > Is it a bug ? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~--~~~~--~~--~--~---
A bug in View constructor ?
Version : CakePHP version 1.2.0.4451alpha The class constructor is waiting for an argument name $controller. The class has an attribute $controller. In previous versions, I was used to reach the controller from the view (eg in a .thtml file) using $this->controller. It doesn't work anymore with out-of-the-box CakePHP version 1.2.0.4451alpha. So I modified the View constructor to add : $this->controller = $controller; as shown below (third line) : function __construct(&$controller) { if(is_object($controller)) { $this->controller = $controller; $count = count($this->__passedVars); for ($j = 0; $j < $count; $j++) { $var = $this->__passedVars[$j]; $this->{$var} = $controller->{$var}; } } parent::__construct(); ClassRegistry::addObject('view', $this); } Is it a bug ? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~--~~~~--~~--~--~---