Skip to content
This repository has been archived by the owner on Jan 29, 2020. It is now read-only.
Matthew Weier O'Phinney edited this page Mar 15, 2016 · 2 revisions

Roadmap

Implemented!

As of 2016-02-15, the features on this roadmap are now implemented in the master branch, for release as version 0.1.0.

The following is a loose roadmap of features to implement for a stable release.

Scenarios

What file to update

  • It should scan the config/ directory for known locations, and provide a list to choose from if more than one is present:
    • application.config.php (default zf2)
    • modules.config.php (apigility)
    • development.config.php (zend-development-mode)
    • config.php (expressive; only if the ConfigManager is detected in the file, though!)
  • It should allow you to choose "do not inject". This should be the default option (and thus the one when --no-interaction is used).
  • It should prompt after the selection, asking if this selection should be remembered for use with later component installations in the same batch.
    • It should not remember this for later invocations of Composer.

Expressive

  • It should allow specifying the config class via the composer.json.
  • If the config class is not specified, it should default to the component namespace + ConfigProvider.
  • It should inject the component at the start of the ConfigManager provider array.

Implementation notes

  • Regex works, but has a high threshold for error.
  • Using include/var_export is a non-starter as it evaluates PHP code including constants, and overwrites comments.
  • Using tokenization is likely safest, but would require larger amounts of code and introduces complexity.
Clone this wiki locally