Skip to content

cmb69/pfw_xh

Repository files navigation

Latest Version: 0.2.0 License: GPL v3

Introduction

Pfw_XH is an MVC framework for CMSimple_XH plugins. It is supposed to (1) yield more clearly structured plugins, to (2) abstract over large parts of the API of CMSimple_XH which still consists of global variables for historic reasons, and to (3) offer useful tools for often needed functionality.

Item (2) is supposed to shield against eventual changes in CMSimple_XH's core,which seem to be necessary in the long run to clean up some unfortunate design decisions, but have been postponed since years for backward compatibility reasons with existing plugins. Therefore all plugin developers are encouraged to use Pfw_XH for new plugins, and to rewrite existing plugins over time to use the plugin framework.

Caution

The Pfw_XH plugin framework is supposed to follow Semantic Versioning. Most notably for now, that means that current versions (i.e. having the major version number 0) have to be considered unstable. Therefore the early versions of Pfw_XH should be considered a playground for somewhat experienced CMSimple_XH plugin developers, who are encouraged to provide feedback on what already works sufficiently and what parts would need improvement to be more generally useful.

Usage

Usage instructions for end-users can be found in the user manual. Usage instructions for plugin developers can be found in the API documentation.

Contributing

A full development environment requires a Web server with PHP 7, PECL/uopz, Composer and Doxygen. To setup the environment, install PECL/uopz and make it available to the cli and phpdbg SAPI, and disable Xdebug for these SAPIs (you can use php-cli.ini), clone the repository into the plugins/ folder of a supported CMSimple_XH version, and run composer install. Afterwards you can run several Phing targets. List the available ones including short descriptions with phing -l.