Download the PHP package ekuiter/feature-php without Composer
On this page you can find all versions of the php package ekuiter/feature-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ekuiter/feature-php
More information about ekuiter/feature-php
Files in ekuiter/feature-php
Package feature-php
Short Description Feature-oriented programming with PHP and FeatureIDE
License LGPL-3.0-only
Homepage https://github.com/ekuiter/feature-php
Informations about the package feature-php
feature-php
feature-php is a Composer package for analyzing and implementing feature-oriented software product lines.
It can be used to:
- analyze and validate FeatureIDE feature models and configurations (domain analysis)
- implement and trace features using the following variability mechanisms
(domain implementation):
- runtime variability for PHP code
- build-system-like copying of files and directories
- preprocessor-like template and chunk systems
- feature-oriented programming (mixin-based)
- aspect-oriented programming (using Go! AOP)
- generate products and export them (e.g. as a ZIP file) (product derivation)
(If you'd like some visual tools for feature models and configurations, have a look at ekuiter/feature-configurator or ekuiter/feature-model-viz.)
Requirements
To use feature-php, the following is required:
- PHP >= 5.3
- the libxml and SimpleXML extensions (most servers have these)
Also recommended are:
- the DOM extension (for validating XML data)
- the ZIP extension (for exporting products as ZIP files)
feature-php also depends on some Composer packages:
- ekuiter/feature-schema for validating feature models and configurations
- nikic/PHP-Parser for feature- and aspect-oriented programming
To install the dependencies, create the following composer.json
file:
Then run composer install
(more information on
Composer). Refer to the guide for further
information.
Usage
Check out the User Guide for installation and usage.
For a quick start, you can also
- look at the example below
- try ekuiter/feature-web
- run the command-line interface with
vendor/bin/feature-php
API Reference
The API reference for feature-php can be found here.
A good starting point is the ProductLine class. If you want to learn about configuration files, have a look at the ProductLine\Settings class.
Example
Command line interface
After installing, run:
in your project root to analyze a given configuration. For more information on
the command-line interface, run vendor/bin/feature-php
or refer to the
guide. To see example input files, see
uvr2web.json
and
UVR1611.xml.
Script usage
License
This project is released under the LGPL v3 license.