zend-form icon indicating copy to clipboard operation
zend-form copied to clipboard

Remove Zend\I18n\View\Helper\AbstractTranslatorHelper dependency

Open kynx opened this issue 9 years ago • 7 comments

This is a follow-on from #32.

You cannot use the view helpers without requiring zend-view. This is because Zend\Form\View\Helper\AbstractHelper extends Zend\I18n\View\Helper\AbstractTranslatorHelper, which in turn extends Zend\View\Helper\AbstractHelper.

I would like to break this dependency. After a quick scan it looks like implementing the setView() / getView() / setTranslator() / getTranslator() methods in the abstract helper would do the trick. Would this be the right approach?

kynx avatar Feb 15 '16 01:02 kynx

Unfortunately, it won't. AbstractHelper also implements HelperInterface, which all helpers need to implement. So while you'd remove the need to extend the base helper from zend-view, you'd still have the dependency due to the interface.

weierophinney avatar Feb 15 '16 03:02 weierophinney

Gack :|

OK, so how about moving the core functionality to Zend\Form\Helper or similar and have Zend\Form\View\Helper\* proxy the core helpers?

That should be possible without a BC break (me, eternal optimist ;) and could provide a path towards moving them over to zend-view in future (discoverability / fewer suggests, as discussed over at https://github.com/zendframework/zend-validator/issues/1).

kynx avatar Feb 15 '16 08:02 kynx

@kynx II like the idea that you have exposed in https://github.com/zendframework/zend-form/issues/32. i.e having a separate package for the view helpers dependent on zend-form and zend-view. kind regards

pine3ree avatar Jun 06 '16 16:06 pine3ree

I'm a newbie and this just bit me for a few minutes with a 26-level stack trace. Figured it out eventually, but should zendframework/zend-i18n be a composer dependency of zendframework/zend-form so that it gets brought in, until this issue is figured out by the big brains?

bitwombat avatar Nov 24 '16 04:11 bitwombat

@bitwombat

should zendframework/zend-i18n be a composer dependency of zendframework/zend-form so that it gets brought in

It is already there. See composer.json:

"suggest": {
    "zendframework/zend-i18n": "^2.6, required when using zend-form view helpers",
}

https://github.com/zendframework/zend-form/blob/master/composer.json#L46

Why suggest section in composer? Not everyone uses the view / output part of zend-form.

froschdesign avatar Nov 24 '16 07:11 froschdesign

Not everyone uses the view / output part of zend-form.

Ah, got it. So I should have read the 'suggested' output from composer better.

Thanks for the reply.

bitwombat avatar Nov 24 '16 11:11 bitwombat

This repository has been closed and moved to laminas/laminas-form; a new issue has been opened at https://github.com/laminas/laminas-form/issues/50.

michalbundyra avatar Jan 15 '20 19:01 michalbundyra