Standards and tooling in the ecosystem
Packages that follow the same standards work together more easily and are easier to review.
Contents
Code standards
- "Follow the PSR standards and our coding style" (
CONTRIBUTING.md; Coding standards). - Name new code by the prefix rule:
sevenxorexpfor 7x code,expfor new kernel code; existing identifiers such aseZContentObjectare never renamed (Naming prefixes). - PHP and Composer conventions: PHP and Composer.
Repository conventions
| Convention | Source |
|---|---|
Commit messages start with Added:, Updated:, Fixed:, Removed: or Renamed: | CONTRIBUTING.md |
Every changed file updates its line in share/filelist.md5 (make manifest-fix) | CONTRIBUTING.md |
make hooks installs pre-commit and commit-msg hooks | CONTRIBUTING.md |
Squash and rebase pull requests; never rewrite main | CONTRIBUTING.md |
| Published tags never change | SECURITY.md |
Source control and releases: Source control and releases.
Checks
The CI runs the test suite on PHP 8.1 to 8.5, checks that PHP 8.0 boots, and runs static analysis and style checks (Quality checks, CI, Testing and CI).
Other standards
| Area | Page |
|---|---|
| Accessibility | Accessibility |
| Security | Security |
| Privacy | Privacy |
| Internationalization | Internationalization |
| APIs and protocols | APIs and protocols |
| Documentation and publishing | Documentation and publishing |
| The administration's styling | Styling the administration |
Related pages
- The PHP stack
- Standards
- Contributing code
- Commit messages
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.