Ok tnx now I understand the problem, though I still can't wrap my head
around the core issue.

Is it that call_user_func_array() can never call private methods ? I found
some comments here and there on the web stating that the new Reflection API
will solve this, but nothing concrete on calling private methods ...

As far as I can tell it can't be an OO issue, since TransactionsController
will inherit the setAction() method from Controller ... therefore calling
setAction() on an instance of TransactionsController should be allowed to
access the private method error() that is defined in the same
TransactionsController class.

I love a good quiz now and then :)

On Mon, Sep 28, 2009 at 5:35 PM, brian <[email protected]> wrote:

>
> On Mon, Sep 28, 2009 at 11:20 AM, Bert Van den Brande <[email protected]>
> wrote:
> > I don't entirely understand why moving the target action from private to
> > protected or public results in the $viewVars being set or not set ?
>
> The first line in setAction() changes the controller's $action:
>
> $this->action = $action;
>
> Then, the last line of the method fails on call_user_func_array()
> because the given action is private:
>
> Warning (2): call_user_func_array()
> [http://php.net/function.call-user-func-array]: First argument is
> expected to be a valid callback, 'TransactionsController::error' was
> given [CORE_1.2.5/cake/libs/controller/controller.php, line 697]
>
> However, it's not a fatal error and the controller's $action has
> already been changed, so it's the view for this that is used in
> render() even though the action is never called.
>
> Anyway, it's not a Cake bug. I just wanted to post this for anyone
> else who might run into it.
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected]
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to