Skip to content

Options for a plugin in phpdoc.xml are not passed to phpDocumentor\Plugin\Plugin #762

Closed
marcimat opened this Issue Feb 22, 2013 · 2 comments

2 participants

@marcimat

Maybe I have mistake but it seems that when we write in a phpdoc.xml :

<plugin path="...">
    <option name='x'>value</option>
</plugin>

The value of the plugin.xml is not overriden by the value of phpdoc.xml.

In fact, the Manager (https://github.com/phpDocumentor/phpDocumentor2/blob/develop/src/phpDocumentor/Plugin/Manager.php#L80) doesn't give the options ($plugin_config['option']) to the constructor or the load() method of the Plugin class, or does not override them after the call of load() method with a setOption or something like that.

The Plugin class always takes only the plugin.xml options (https://github.com/phpDocumentor/phpDocumentor2/blob/develop/src/phpDocumentor/Plugin/Plugin.php#L105)

However in http://www.phpdoc.org/docs/latest/for-developers/plugins/getting-started/setting-up-a-plugin.html#options it is said «you can provide a set of default options for your plugin; the user has the ability to override these options from the phpDocumentor configuration file», but it is not the fact now, I think.

(Sorry again for my awful english)

Thanks for all the work in phpdocumentor !

@mvriel
phpDocumentor member
mvriel commented Feb 22, 2013

Thanks or reporting this! This must certainly be fixed! I am touching this section in my current refactoring so I will be on the lookout for this error.

@mvriel
phpDocumentor member
mvriel commented Jul 11, 2013

The implementation of the plugins have drastically changed since beta1 due to big mistakes in the design. Unfortunately we were unable to keep BC without great efforts.

Currently all plugins are implemented as Cilex Service Providers; this has the benefit that everything is accessible and that you have a central location where you can inject your own stuff in the application because the DIC is exposed,

That also means that the configuration is exposed and accessible from the ServiceProvider, an example can be found here: https://github.com/phpDocumentor/phpDocumentor2/blob/develop/src/phpDocumentor/Plugin/Core/ServiceProvider.php

I am sorry that we had to break BC but it had to be done

@mvriel mvriel closed this Jul 11, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.