While _redirect() and _forward() are protected, you'll find that
gotoUrlAndExit() and a bunch of others are public, and can be called from
your action helper.

(For the record, I vote for making _redirect() and _forward() public too.
Why not? Until I noticed some of the public methods, I was about to
implement my own method to do a redirect, and if I have to implement my own
methods, then why am I using the Zend library?)


Mike van lammeren



Matthew Weier O'Phinney-3 wrote:
> 
> -- Ralf Kramer <[email protected]> wrote
> (on Wednesday, 24 October 2007, 02:10 AM +0200):
>> Am Montag, den 22.10.2007, 04:14 -0400 schrieb Matthew Weier O'Phinney:
>> > it's because _forward() is a protected method in
>> > Zend_Controller_Action; you can't call it from a public instance of the
>> > object. 
>> 
>> There are certainly good reasons to make _forward final and protected
>> and _redirect protected. Thus, I decided to create my own class
>> Quasda_Controller_Action_Helper_Abstract extends
>> Zend_Controller_Action_Helper_Abstract
>> {
>> 
>> which implements _forward and _redirect and acts a base class for all my
>> future action helpers. The implementation of these methods is in case of
>> _forward identically to the implementation in Zend_Controller_Action and
>> in case of _redirect I needed to use
>> Zend_Controller_Action_HelperBroker::getStaticHelper('Redirector');
>> to gain access to the redirector.
>> 
>> This works fine so far, what only bothers me, is that I have doubled
>> code in my application. A violation to the DRY convention. Isn't it a
>> desirable target to have access to regular "Action" methods in "Action"
>> helpers? 
> 
> I'd have to agree with you here, actually. I inherited the MVC a little
> over a year ago, and _forward() and _redirect() were already protected.
> My feeling is that they should likely be public, and I may make that
> change for a future release (having _forward() and _redirect() proxy to
> them while throwing a warning indicating deprecation).
> 
> -- 
> Matthew Weier O'Phinney
> PHP Developer            | [email protected]
> Zend - The PHP Company   | http://www.zend.com/
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Writing-ActionHelper%3A-Undefined-property%3A-%24_actionController-tp13334895p21998875.html
Sent from the Zend Framework mailing list archive at Nabble.com.

Reply via email to