Thursday, January 28, 2010

Re: calling a component in a model

While Miles J is right in general, there are exceptions.

This is how I used Emailcomponent from a model:
http://github.com/ionas/sna/blob/master/www/app/app_model.php#L98
(1.2.5)

I am not sure if an email datasource would be the best approach in
general (and the component as well as models could use that) or if
there is something missing to the MVC aka. DS/M/B + C+C + V+H
architecture, something like "lib" or so...

King regards
ionas

On Jan 28, 7:04 pm, Miles J <mileswjohn...@gmail.com> wrote:
> You should not be using Components from your Model. If you are, then
> your application structure is wrong.
>
> There are if cases like the Email and Session component.
>
> On Jan 28, 9:19 am, bujanga <buja...@gmail.com> wrote:
>
> > I have found 2 MVC use cases for this approach. One is to send email
> > from a model and the other is to send email from a shell task. Here is
> > how I go about it:
>
> > //      IMPORT AND INITIALIZE EMAIL COMPONENT
> > App::import('Core', 'Controller');
> > App::import('Component', 'Email');
> > $this->Controller =& new Controller();
> > $this->Email =& new EmailComponent(null);
> > $this->Email->initialize($this->Controller);
>
> > $data = $this->Model->find();
> > $this->Controller->set('data', $data);
>
> > On Thu, Jan 28, 2010 at 8:33 AM, euromark <dereurom...@googlemail.com> wrote:
> > > you cant automatically use them
>
> > > manual inclusion:
>
> > > App::import('Component', 'My');
> > > $this->My = new MyComponent();
> > > ...
>
> > > On 28 Jan., 11:54, Florian <florian.end...@me.com> wrote:
> > >> Hi @ all,
>
> > >> my Problem is that i can not call a component from a model.
>
> > >> Source - Model:
>
> > >> class Approval extends AppModel{
> > >>       $components = array('CheckKont');
>
> > >> .
> > >> .
> > >> .
> > >> .
>
> > >>       function beforeSave(){
> > >>              $this->CheckKont->execute ();
> > >>       }
>
> > >> }
>
> > >> Source - Component :
>
> > >> class CheckKont extends Object(){
> > >>      execute(){
> > >>           return true;
> > >>      }
>
> > >> }
>
> > >> Over the Controller i can call the component, also included with
> > >> $components = array()
>
> > >> Has anybody a hint how do call the component in a model?
>
> > >> Thanks
> > >> Florian
>
> > > Check out the new CakePHP Questions sitehttp://cakeqs.organdhelp others with their CakePHP related questions.
>
> > > 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+unsubscribe@googlegroups.com For more options, visit this group athttp://groups.google.com/group/cake-php?hl=en

Check out the new CakePHP Questions site http://cakeqs.org and help others with their CakePHP related questions.

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+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en

No comments: