Re: A bug in View constructor ?

2007-03-22 Thread Gilles Dubois

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 ?

2007-03-19 Thread nate

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 ?

2007-03-19 Thread bernardo

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 ?

2007-03-19 Thread djiize

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 ?

2007-03-19 Thread Gilles Dubois

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
-~--~~~~--~~--~--~---