PHPMaker’s GitHub integration is a very useful feature, especially for version control and maintaining project history.
However, currently the entire PHPMaker project is stored in GitHub mainly as a single .pmp file. For larger projects, this makes Git-based maintenance quite difficult.
When multiple changes are made inside the PHPMaker project, GitHub only shows that the .pmp file has changed. It becomes difficult to understand exactly what was modified, compare individual project components, review changes, or resolve merge conflicts.
It would be very helpful if PHPMaker could optionally store/synchronize the project with GitHub as multiple structured files, similar to how the project components are organized and displayed inside PHPMaker itself.
For example, the GitHub repository could contain separate files or folders for:
-
Tables and views
-
Fields
-
Server events
-
Client-side events
-
Global code
-
Custom scripts
-
API actions
-
User levels and permissions
-
Menu configuration
-
Project settings
-
Database configuration or metadata
-
Other PHPMaker project objects
The .pmp file could still remain as the main project file if required, but an additional Git-friendly project format would make the GitHub integration much more useful.
This would provide several advantages:
-
Better Git diff/history – We could see exactly which table, event, script, or setting was changed.
-
Easier code review – Changes could be reviewed directly from GitHub pull requests.
-
Easier merge conflict resolution – Developers would not need to resolve conflicts inside one large
.pmpfile. -
Better collaboration – Multiple developers could work on different parts of a PHPMaker project more safely.
-
More meaningful commits – A commit could clearly show changes such as
ServerEvents,CustomScripts, or a particular table instead of only showingProject.pmp modified. -
Better backup and change tracking – Individual project components could be restored or compared without reverting the complete PHPMaker project.
Ideally, PHPMaker could support something similar to:
Project.pmp
/Tables/
/Views/
/ServerEvents/
/CustomScripts/
/API/
/Menus/
/Permissions/
/Settings/
The exact structure could of course be decided by the PHPMaker development team.
Since PHPMaker already provides GitHub synchronization, I believe adding an optional multi-file/project-directory format would make this feature significantly more useful for professional development and larger projects.
Please consider adding this option in a future PHPMaker version.