2009年3月5日星期四

Re: [fw-mvc] postDispatch() runs after _foward

Look at how Zend_Layout works, from my memory that uses dispatchLoopShutdown

2009/3/5 Yi Tang <ytang@mbira.com>:
> well that actually doesn't work for what we're trying to do.  Once inside of
> dispatchLoopShutdown, you can't add anything to the view render anymore as
> the view rendering is already complete.  So for now we're checking
> $request->isDispatched() inside of the postDispatch() hook.
> anyhow, our issue is solved.  however whether postDispatch should be called
> when dispatched flag is false is still somewhat likely to cause confusions.
>
> Yi Tang wrote:
>>
>> ah, excellent point.  thanks.
>>
>> Hector Virgen wrote:
>>>
>>> Maybe you should be using the dispatchLoopShutdown() hook if you want
>>> code
>>> to run at the end of the dispatch loop.
>>>
>>> -Hector
>>>
>>>
>>> On Thu, Mar 5, 2009 at 9:15 AM, Yi Tang <ytang@mbira.com> wrote:
>>>
>>>
>>>>
>>>>  well then, don't you think it's more logical to at least not trigger
>>>> postDispatch() until the dispatch loop is complete? "postDispatch" gives
>>>> the
>>>> connotation that it'll only run after the dispatch loop is complete.
>>>>
>>>> Matthew Weier O'Phinney wrote:
>>>>
>>>> -- Yi Tang <ytang@mbira.com> <ytang@mbira.com> wrote
>>>> (on Wednesday, 04 March 2009, 05:17 PM -0600):
>>>>
>>>>
>>>>  It appears the postDispatch hook of controller plugins get triggered
>>>> even with _foward calls, when dispatched is still false.  Is it a bug or
>>>> intentional?  It doesn't seem very logical for it to be intentional.
>>>>
>>>>
>>>>  Yes, it's intentional. _forward() sets the "isDispatched" flag of the
>>>> request to false, and that flag is checked for as the conditional of the
>>>> dispatch loop. During preDispatch(), it can be used to indicate that the
>>>> current action should not be executed, but after that, it is simply used
>>>> to hint to the dispatch loop that an additional action needs to be
>>>> taken.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>
>

--
----------------------------------------------------------------------
[MuTe]
----------------------------------------------------------------------

没有评论: