Documentation section bloc Extensions for writers is empty
weierophinney opened this issue · comments
- I was not able to find an open or closed issue matching what I'm seeing.
- This is not a question. (Questions should be asked on slack (Signup for Slack here) or our forums.)
After updating zend-feed to v2.10.3, it seems that the setInvokableClass
to add personnal writer has changed. Giving the following error :
Method by name of setInvokableClass does not exist in Zend\Feed\Writer\ExtensionManager
I tried to find more information into your doc, but the bloc is empty with a TODO
mention.
Code to reproduce the issue
extensions = Writer::getExtensionManager();
$extensions->setInvokableClass('MyEntryName','PathToMyEntryClass');
Writer::registerExtension('MyExtensionName');
Expected results
My extension well registered.
And the section doc completed.
Actual results
Method by name of setInvokableClass does not exist in Zend\Feed\Writer\ExtensionManager
Originally posted by @gbouyge at zendframework/zend-feed#86
After updating zend-feed to v2.10.3, it seems that the setInvokableClass to add personnal writer has changed.
This method has been gone since version 2.6.0.
You can use the following:
/** @var \Zend\Feed\Reader\StandaloneExtensionManager $extensionManager */
$extensionManager = \Zend\Feed\Writer\Writer::getExtensionManager();
$extensionManager->add('My\Entry', \My\Entry::class);
\Zend\Feed\Writer\Writer::registerExtension('My');
var_dump($extensionManager->has('My\Entry')); // true
var_dump(\Zend\Feed\Writer\Writer::getExtensions()['entry']); // array {0 => 'My\Entry'}
or use the class names:
$extensionManager->add(\My\Entry::class, \My\Entry::class);
var_dump($extensionManager->has(\My\Entry::class)); // true
Originally posted by @froschdesign at zendframework/zend-feed#86 (comment)