I would like to create a lite and full version of the same PHP component. Of course I would like that both shared a common code base -- so if I find a bug, or add a feature, I need to update it only in one place.
In a compiled language the better approach is to have just a single project, with multiple targets –- one for each version. In that case I would use Preprocessor Macros to identify the product version in the code, thus enabling logical decisions based on the version.
With PHP what's the best way to solve this problem? Of course it is essential that the specific code of the full version does not appear in the PHP files of the lite version, otherwise a shrewd developer might unlock the features with ease.